可通过四种方式实现本地VSCode远程调试Docker容器:一、Remote-Containers直连远程Docker守护进程;二、SSH隧道代理访问docker.sock;三、容器内部署code-server浏览器接入;四、devcontainer.json声明式定义开发环境。

如果您希望在本地 VSCode 中直接编辑和调试运行在远程 Docker 容器中的代码,则需建立安全、稳定的远程开发通道。以下是实现该目标的多种可行路径:
本文运行环境:MacBook Pro,macOS Sequoia。
一、使用 Remote-Containers 扩展直连远程 Docker 守护进程
此方法通过配置 VSCode 的 Remote-Containers 扩展,使其连接到远程主机上运行的 Docker daemon,从而在本地界面中打开并操作远程容器内的工作区。前提是远程主机已启用 Docker 的 TCP 接口且配置了 TLS 认证或信任网络环境。
1、在远程主机上修改 Docker 服务配置,将 /etc/docker/daemon.json 中添加 {"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2376"]},并重启 Docker 服务。
2、在本地 macOS 上安装 VSCode 并启用 Remote-Containers 扩展。
3、设置环境变量 DOCKER_HOST=tcp://:2376,若启用 TLS 则同步配置 DOCKER_TLS_VERIFY=1 和 DOCKER_CERT_PATH 指向证书目录。
4、执行 VSCode 命令面板(Cmd+Shift+P),输入 Remote-Containers: Attach to Running Container...,选择远程主机上目标容器即可加载工作区。
二、通过 SSH 隧道代理访问远程 Docker Socket
避免直接暴露 Docker daemon 的 TCP 端口,改用 SSH 端口转发方式将远程 /var/run/docker.sock 映射至本地 Unix socket 或 TCP 端口,提升安全性。
1、在本地终端执行 ssh -L /var/run/docker.sock:/var/run/docker.sock -N -f @,建立后台隧道(需远程用户具有读取 docker.sock 权限)。
2、确认本地 /var/run/docker.sock 已被成功映射,可运行 docker ps 验证是否列出远程容器。
3、启动 VSCode 后,使用 Remote-Containers 扩展执行 Reopen in Container 或 Attach to Running Container,此时扩展将自动识别本地代理的远程 Docker 环境。
拍客竞拍系统是一款免费竞拍网站建设软件,任何个人可以下载使用,但未经商业授权不能进行商业活动,程序源代码开源,任何个人和企业可以进行二次开发,但不能以出售和盈利为目的。安装方法,将www文件夹里面的所有文件上传至虚拟主机,在浏览器执行http://你的域名/install.php或者直接导入数据库文件执行。本次升级优化了一下内容1,程序和模板完美分离。2,优化了安装文件。3,后台增加模板切换功能。
三、在远程容器内部署 Code Server 并通过浏览器接入
该方案不依赖本地 VSCode 客户端,而是在远程 Docker 容器中运行开源的 code-server 实例,提供完整 Web 版 VSCode 界面,所有编辑与调试均在容器内完成。
1、拉取支持 code-server 的基础镜像,例如 codercom/code-server 或基于官方 mcr.microsoft.com/vscode/devcontainers/base:alpine 构建自定义镜像。
2、运行容器时挂载源码目录并映射端口,命令示例:docker run -d -p 8080:8080 -v $(pwd):/home/coder/project codercom/code-server --auth=none。
3、在本地浏览器访问 http://:8080,即可进入容器内运行的 VSCode 界面,安装插件、打开文件夹、启动终端均直接作用于容器环境。
四、使用 devcontainer.json 声明式定义远程开发环境
通过项目根目录下的 .devcontainer/devcontainer.json 文件,显式指定远程容器的镜像、端口转发、扩展列表与初始化脚本,使 Remote-Containers 扩展能全自动构建并接入一致环境。
1、在项目中创建 .devcontainer/devcontainer.json,内容包含 image 字段指向私有仓库镜像,如 my-registry.example.com/my-python-dev:latest。
2、在 features 数组中声明所需工具,例如 "ghcr.io/devcontainers/features/python:1" 和 "ghcr.io/devcontainers/features/docker-in-docker:2"。
3、配置 forwardPorts 列出需暴露的服务端口,并设置 postCreateCommand 自动安装依赖或初始化 Git 子模块。
4、在本地 VSCode 中打开该文件夹后,点击右下角弹出的 Reopen in Container 提示,扩展将拉取镜像、启动容器、应用配置并加载工作区。









