You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

远程Ubuntu机器Docker Compose容器VS Code调试连接问题求助

解决Docker容器调试与daemon连接失败问题

先修复Docker daemon连接错误

  • 检查当前用户是否在docker组
    在远程Ubuntu终端执行:

    groups $USER
    

    要是输出里没docker组,用sudo把用户加入组:

    sudo usermod -aG docker $USER
    

    加完必须退出当前SSH会话重新连接,否则权限不会生效。

  • 验证连接状态
    重新连接后,执行:

    docker ps
    

    能正常列出运行容器的话,再尝试用VS Code附加容器。

  • 检查Docker Desktop配置
    打开远程机器的Docker Desktop,进入Settings > Docker Engine,确认hosts配置里包含unix:///var/run/docker.sock(默认已有),修改配置后重启Docker Desktop生效。

调试容器内Python代码的替代方案(若上述修复无效)

如果还是无法直接通过VS Code附加容器,试试以下调试方式:

1. 通过Docker Compose配置远程调试端口

修改docker-compose.yml,给Python服务添加端口映射和调试启动命令:

services:
  your-python-service:
    build: .
    ports:
      - "5678:5678"  # 映射调试端口到宿主机器
    command: python -m debugpy --listen 0.0.0.0:5678 --wait-for-client your_script.py
    # 若使用Flask框架,可改为:python -m debugpy --listen 0.0.0.0:5678 --wait-for-client -m flask run

重启容器:

docker-compose up --build

2. 在VS Code中配置远程调试

在远程VS Code的.vscode/launch.json中添加调试配置:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: Remote Attach",
      "type": "python",
      "request": "attach",
      "connect": {
        "host": "localhost",
        "port": 5678
      },
      "pathMappings": [
        {
          "localRoot": "${workspaceFolder}",
          "remoteRoot": "/app"  # 替换为容器内代码的实际路径
        }
      ],
      "justMyCode": false
    }
  ]
}

启动调试器即可连接到容器内的Python进程进行调试。

3. 手动进入容器启动调试

不想修改配置的话,直接进入容器操作:

docker exec -it <容器ID或名称> bash

在容器内安装debugpy:

pip install debugpy

重启Python脚本并开启调试:

python -m debugpy --listen 0.0.0.0:5678 --wait-for-client your_script.py

再通过VS Code的调试配置连接即可。

内容的提问来源于stack exchange,提问作者TjM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 22:54:18