无法为容器创建任务:无法创建 shim 任务 - PyCharm 解释器创建

问题描述 投票:0回答:1

我目前正在尝试使用 this 教程调试我的容器化 Django 应用程序。但不幸的是,当我尝试创建新的 Python 解释器时,我收到了附加的错误。该视频显示了我的步骤:https://www.youtube.com/watch?v=6ZGIKggCIws

“Python 解释器进程以非零退出代码 1 退出,来自守护程序的错误响应:无法为容器创建任务:无法创建 shim 任务:OCI 运行时创建失败:runc 创建失败:无法启动容器进程:exec:” /home/leo/Desktop/development/daytistics/app/backend/.venv/bin/python": stat /home/leo/Desktop/development/daytistics/app/backend/.venv/bin/python: 没有这样的文件或目录:未知”

以下是我的 docker-compose 文件的相关部分:

name: daytistics
services:
  postgres:
    image: postgres:16
    environment:
      POSTGRES_DB: mydb
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data

  django:
    image: python:3.12-slim
    volumes:
      - ./backend:/app
    working_dir: /app
    command: >
      /bin/sh -c "pip install poetry &&
      poetry config virtualenvs.in-project true &&
      poetry install --no-root &&
      poetry run python manage.py runserver 0.0.0.0:8000"
    environment:
      DATABASE_URL: postgres://myuser:mypassword@postgres:5432/mydb
      DJANGO_SECRET_KEY: "xuh%bc^1%m575%mv@@t87=f6_(i)%c=3jt-+obn&e%=+8qbm!f"
      DJANGO_ALLOWED_HOSTS: "*"
      CORS_ALLOWED_ORIGINS: "http://localhost:3000"
      CSRF_TRUSTED_ORIGINS: "http://localhost:3000"
      CSRF_ALLOWED_ORIGINS: "http://localhost:3000"
      FRONTEND_URL: http://nuxt:3000
    ports:
      - "8000:8000"
    depends_on:
      - postgres

volumes:
  postgres_data:

对应的Python可执行文件存在。我也有访问权限。

python docker debugging pycharm
1个回答
0
投票

当您运行

poetry run python
时,它会尝试在
venv
中运行 python 命令。但问题是,将要运行的 python 解释器是该虚拟环境中
python3
的符号链接,并且您无法将计算机中某些内容的符号链接复制到 docker 容器。

© www.soinside.com 2019 - 2024. All rights reserved.