【问题标题】:Debugging Django with VS Code inside a Docker container shuts down the container在 Docker 容器中使用 VS Code 调试 Django 会关闭容器
【发布时间】:2021-11-12 16:30:39
【问题描述】:

我正在关注this guide,使用 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",
    }
  ]
} 

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

【问题讨论】:

    标签: django docker visual-studio-code


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您的回复。我确实有设置选项卡并更新到 5gb,但容器不断关闭。顺便说一句,我在 Mac 上,这可能会导致问题
    • 尝试在容器内运行top 命令,看看内存是否会爆炸。不仅要增加内存,还要增加交换。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-17
    • 2020-04-06
    • 2019-02-12
    • 2017-03-07
    • 2021-05-11
    • 1970-01-01
    • 2020-01-15
    相关资源
    最近更新 更多