You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code Remote Container找不到docker命令,该如何配置?

问题根本原因

你当前是在VS Code远程容器扩展启动的Dev Container内部执行make run命令,该命令需要调用docker服务:默认Dev Container内部没有预装docker客户端,也没有关联宿主机的docker服务,因此会出现docker: not found报错,PATH差异也是因为容器内默认没有docker相关执行文件路径导致的。

如何在VS Code内正确执行构建/make run命令

有两种可行方案:

  • 方案1(最简操作):直接在本地Ubuntu终端执行make build、make run命令,本地docker环境正常可以直接完成容器构建启动。容器启动后再打开VS Code远程容器扩展,选择「附加到正在运行的容器」,选中启动的rggnet-experiment容器即可进入调试,不需要在容器内部执行make相关命令。
  • 方案2(容器内执行docker命令):修改Dev Container配置文件.devcontainer/devcontainer.json,增加如下配置:
    1. 挂载宿主机docker套接字到容器,在mounts配置项中添加:
      "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind"
    2. 配置容器内预装docker客户端,在postCreateCommand中添加:
      apt update && apt install -y docker.io
    3. 如有PATH不一致问题,可手动添加环境变量配置:
      "remoteEnv": {"PATH": "${localEnv:PATH}:/usr/bin"}
      修改完成后重建Dev Container即可在容器内部正常执行docker相关命令。

更优的容器调试方案

推荐直接用VS Code Dev Container原生配置替代手动执行Makefile启动容器:

  • 将Makefile中docker run的所有参数(GPU配置、挂载卷、环境变量、网络模式、权限配置等)全部写入devcontainer.json对应配置项,远程容器扩展启动时会自动应用所有配置,无需手动执行make run。
  • 代码调试直接使用VS Code对应语言的调试插件,可直接在容器内设置断点、单步执行,代码修改会实时同步到容器内部,不需要反复重新构建镜像。

不安装远程扩展能否完成容器调试

可以,有两种替代方案:

  • 方案1:本地安装对应开发语言的调试器,启动容器时暴露调试端口,同时将容器内的代码目录挂载到本地,VS Code添加远程调试配置,连接容器暴露的调试端口即可完成调试。
  • 方案2:在容器的Dockerfile中添加ssh服务安装、启动、账号配置步骤,容器启动时映射ssh端口,本地VS Code用远程SSH功能连接容器的ssh端口即可,不需要安装远程容器扩展。

内容的提问来源于stack exchange,提问作者Tuan Phuoc Truong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 08:12:00