VSCode 与 Docker 深度集成实现“所见即所得”开发体验,通过 Dev Container 将代码、依赖、运行时和调试器打包进容器,一键重启进入;支持多容器编排、可视化资源管理、容器内调试及 CI/CD 环境一致性。

VSCode 与 Docker 的深度集成,让开发者能在本地直接管理容器、调试应用、甚至把整个开发环境“装进容器里”——不用手动配环境、不担心“在我机器上是好的”,真正实现“所见即所得”的开发体验。
远程容器开发(Dev Container)
这是 VSCode + Docker 最实用的组合。它把项目代码、依赖、运行时、调试器全部打包进一个容器,在 VSCode 中打开项目时自动构建并连接进去,编辑、运行、调试都在容器内完成。
- 只需在项目根目录加一个 .devcontainer/devcontainer.json 文件,定义基础镜像、端口转发、扩展插件和启动命令
- 按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 “Dev Containers: Reopen in Container” 即可一键进入
- 支持多容器编排,比如前端用 Node 镜像,后端用 Python 镜像,数据库用 PostgreSQL 官方镜像,通过 docker-compose.yml 关联
本地 Docker 工具链直连
安装官方 Docker 扩展后,VSCode 底部状态栏会显示 Docker 图标,点击即可查看镜像、容器、网络、卷等资源,操作比 CLI 更直观。
- 右键容器可执行 “Attach Visual Studio Code” —— 直接在容器里打开一个新 VSCode 窗口(需容器内已安装 VS Code Server)
- 右键镜像可生成 Dockerfile 模板,或快速运行临时容器用于测试
- 终端中运行 docker build 或 docker compose up 时,错误日志高亮显示,点击能跳转到对应行
调试容器内服务更简单
无需改代码、不用暴露调试端口到宿主机。只要在 .devcontainer/devcontainer.json 中配置好调试器映射,VSCode 就能自动连接容器里的进程。
Ke361是一个开源的淘宝客系统,基于最新的ThinkPHP3.2版本开发,提供更方便、更安全的WEB应用开发体验,采用了全新的架构设计和命名空间机制, 融合了模块化、驱动化和插件化的设计理念于一体,以帮助想做淘宝客而技术水平不高的朋友。突破了传统淘宝客程序对自动采集商品收费的模式,该程序的自动 采集模块对于所有人开放,代码不加密,方便大家修改。集成淘点金组件,自动转换淘宝链接为淘宝客推广链接。K
- Python 项目:安装 Python 扩展后,在 launch.json 中设 "console": "integratedTerminal",断点直接生效
- Node.js 项目:添加 "node": "--inspect=0.0.0.0:9229" 到容器启动命令,VSCode 自动监听 9229 端口
- Java / Go / .NET 等主流语言均有对应扩展支持容器内调试,原理类似:端口映射 + 调试协议桥接
环境一致性从开发延续到 CI/CD
Dev Container 定义的镜像和配置,天然适配 CI 流程。GitHub Actions、GitLab CI 可直接复用 .devcontainer/Dockerfile 或 docker-compose.yml,避免“本地能跑,CI 报错”。
- 把 devcontainer.json 提交到仓库,新成员克隆即用,零配置启动开发
- CI 脚本中用相同镜像运行单元测试、lint 和构建,环境变量、路径、权限完全一致
- 团队可维护统一的基础 devcontainer 镜像(如 node:18-dev、python:3.11-dev),各项目继承复用,升级只需改基镜像
基本上就这些。不是所有项目都需要容器化开发,但一旦涉及多服务、版本冲突或跨平台协作,VSCode + Docker 这套组合拳能让开发流变得干净、可复现、易交接。









