【发布时间】:2021-07-30 02:50:52
【问题描述】:
我有一个 Django 应用程序及其在 docker 容器中运行的依赖项(在带有 WSL2 的 Windows 10 上)。这工作正常,但我希望能够通过 PyCharm Pro 对其进行调试。这是我在 docker-compose 中的 web 容器
# The main container - containing the Django code
web:
build: ./web
ports:
- "8000:8000"
depends_on:
- postgres #wait for postgres to be started, not for ready
- redis
- npm_watch
volumes:
- ./web:/usr/src/app
- ./web/collectstatic:/usr/src/app/collectstatic
env_file: .env
environment:
DEBUG: 'true'
LOCAL: 'true'
command: su myuser -c "/usr/local/bin/python manage.py runserver 0.0.0.0:8000"
我针对 Django 应用容器配置了一个 Docker Compose interpreter 并创建了一个 Django Server Run/Debug configuration 见下文(up 命令选项是启动所有容器)
当启动 docker-compose 时,web 容器几乎立即退出,退出代码为 0。手动重启该节点后,它保持运行,但访问主页仅显示连接错误。
当连接到该容器时,我可以看到以下进程正在运行,但只监听了端口 53240。容器没有监听 8000 端口
python -u /opt/.pycharm_helpers/pydev/pydevd.py --port 53240 --file /opt/project/web/myproject/settings.py runserver --noreload 0.0.0.0:8000
我也尝试添加 Docker 配置,但您似乎无法调试它(调试底部面板没有记录)
知道如何进行这项工作吗?我找不到很多此类设置的示例。
或者这种方式不可能,我需要使用remote debugging with PyDevd 或在 docker env 之外运行 de Django 应用程序?那将是一个遗憾......它可以在 Visual Studio Code 等其他 IDE 上工作吗?
谢谢:-)
【问题讨论】:
标签: python django docker docker-compose pycharm