跳至主要內容

使用 VS Code CLI 远程连接 Docker 容器

Bob Yue编程VS CodeDocker大约 1 分钟

背景介绍

由于 VS Code 官方文档未就此需求提供详细的 CLI 使用说明,导致很多用户在使用 VS Code CLI 连接 Docker 容器时遇到困难。

由于该需求较为冷门,中文互联网没有相关介绍,DeepSeek 对此的回答也并不正确。ChatGPT 由于可以搜索 StackOverflow 的内容,给出了正确答案。

解决方案

visual studio code - 如何使用 vscode 命令行连接远程容器? --- How to attach a remote container using vscode command line? - Stack Overflowopen in new window

要在命令行中让 VS Code “Attach to Container”,需要借助 Dev Containers 扩展,并通过 code CLI 的 --folder-uri(或 --file-uri)参数来指定目标容器:

  1. 安装并启用 Remote – Containers 扩展
    确保你的 VS Code 已安装 Dev Containers 扩展,并已在本地能正常通过 UI “Attach to Running Container” 连接容器。

  2. 获取容器名称或 ID

    docker ps
    

    假设你想连接的容器名称为 my_container,或者使用它的容器 ID(如 a1b2c3d4e5f6)。

  3. 将容器名称(或 ID)转换为十六进制
    Remote – Containers 使用 URI 方案来定位容器,必须将容器名/ID 做为 JSON 负载(或单纯名称)编码为十六进制。最简单的方法是:

    printf 'my_container' | xxd -p | tr -d '\n'
    

    这会输出类似:

    6d795f636f6e7461696e6572
    
  4. 在 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"
      
上次编辑于:
贡献者: Bob Yue