首页 > 解决方案 > 在 Docker 容器中使用 VS Code 调试 Django 会关闭容器

问题描述

我正在按照本指南使用 VS Code 在 Docker 容器中调试 Django。我所做的唯一不同是将端口更改为8000和主机,0.0.0.0因为我的 docker-compose 就是这样。我不知道为什么当我在视图中使用断点运行 Django 时 Web 容器会关闭,因为我真的不知道问题出在哪里。我唯一的猜测是来自vscode/launch.json以下设置的文件:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Run Django",
      "type": "python",
      "request": "attach",
      "pathMappings": [
        {
          "localRoot": "${workspaceFolder}/app",
          "remoteRoot": "/usr/src/app"
        }
      ],
      "port": 8000,
      "host": "0.0.0.0",
    }
  ]
} 

任何想法为什么这不起作用或问题来自哪里?

标签: djangodockervisual-studio-code

解决方案


您使用的是 Mac 还是 WSL1?当使用带有断点的调试器时,我已经看到 Docker 在 VSCode 上内存不足。

Docker 虚拟化是在操作系统级别,但是,要实现这种操作系统虚拟化,您的机器的内核应该与您的容器的内核相同(这就是 Windows 具有 WSL2 的原因),但 MacOS 在 Darwin 上运行,而不是在 Linux 上运行,因此它需要另一层(LinuxKit VM)。

请检查您的 Docker 设置是否有此资源选项卡。如果是这样,请给它更多内存,VSCode 调试在 Django 中相当繁重。

在此处输入图像描述


推荐阅读