Visual Studio Code多容器配置:Flask与RQ Worker容器联合调试方案
多容器共用镜像的VS Code Remote调试配置方法
- 第一步:调整devcontainer的compose引用规则,避免自动生成的配置覆盖原有逻辑
不要依赖VS Code自动生成的.devcontainer/docker-compose.yml作为主配置,在你现有的.devcontainer/devcontainer.json中修改dockerComposeFile字段,优先引用根目录下你原本的docker-compose.yml,再追加devcontainer专属的扩展配置:
这样你启动devcontainer时,会自动按你原有compose的规则同时拉起Flask和RQ Worker两个容器。"dockerComposeFile": [ "../docker-compose.yml", // 你的原有配置,保证两个服务同步启动的依赖规则写在这里 "docker-compose.dev.yml" // 仅存放devcontainer需要的调试端口映射、工具挂载等覆盖配置 ] - 第二步:连接到已启动的第二个容器
第一个容器正常通过「Remote-Containers: Open Folder in Container」启动完成后,新开一个VS Code窗口,按下F1调出命令面板,选择「Remote-Containers: Attach to Running Container」,在弹出的运行中容器列表里直接选择你需要调试的第二个容器即可。 - 第三步:配置attach容器的调试环境
首次attach到容器时,选择源码在容器内的挂载路径(比如/app)作为工作目录即可,因为两个容器共用同一镜像,所有运行依赖、调试工具都已经预装完成,直接在当前窗口的.vscode/launch.json中添加对应服务的调试配置,就可以正常断点调试。
如果需要复用attach配置,你可以在.devcontainer目录下新增第二个服务的专属devcontainer配置文件(比如命名为devcontainer.worker.json),后续attach时直接读取该配置即可,无需每次手动选择工作目录和安装扩展。
内容的提问来源于stack exchange,提问作者nehalem
相关产品推荐
相关产品推荐

