使用 VS Code CLI 远程连接 Docker 容器
大约 1 分钟
背景介绍
由于 VS Code 官方文档未就此需求提供详细的 CLI 使用说明,导致很多用户在使用 VS Code CLI 连接 Docker 容器时遇到困难。
由于该需求较为冷门,中文互联网没有相关介绍,DeepSeek 对此的回答也并不正确。ChatGPT 由于可以搜索 StackOverflow 的内容,给出了正确答案。
解决方案
要在命令行中让 VS Code “Attach to Container”,需要借助 Dev Containers 扩展,并通过 code
CLI 的 --folder-uri
(或 --file-uri
)参数来指定目标容器:
安装并启用 Remote – Containers 扩展
确保你的 VS Code 已安装 Dev Containers 扩展,并已在本地能正常通过 UI “Attach to Running Container” 连接容器。获取容器名称或 ID
docker ps
假设你想连接的容器名称为
my_container
,或者使用它的容器 ID(如a1b2c3d4e5f6
)。将容器名称(或 ID)转换为十六进制
Remote – Containers 使用 URI 方案来定位容器,必须将容器名/ID 做为 JSON 负载(或单纯名称)编码为十六进制。最简单的方法是:printf 'my_container' | xxd -p | tr -d '\n'
这会输出类似:
6d795f636f6e7461696e6572
在 VS Code CLI 中执行连接命令
打开容器内某个目录
code --folder-uri "vscode-remote://attached-container+<HEX>/path/inside/container"
例如,要打开容器
/app
目录:code --folder-uri "vscode-remote://attached-container+6d795f636f6e7461696e6572/app"
打开容器内的多根工作区(
.code-workspace
文件)code --file-uri "vscode-remote://attached-container+<HEX>/home/my_workspace.code-workspace"