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

Ubuntu 20.04下无法运行VS Code Dev Container问题求助

问题

在Ubuntu 20.04环境下使用VS Code Dev Container时遇到报错。按照官方教程启动开发容器(比如Node示例仓库),从命令面板执行命令时,始终出现path /tmp/... not found错误。终端输出如下:

[19 ms] Dev Containers 0.384.0 in VS Code 1.93.0 (4849ca9bdf9666755eb463db297b69e5385090e3).
[19 ms] Start: Resolving Remote
[43 ms] Start: Check Docker is running
[43 ms] Start: Run: docker version
[75 ms] Client:
 Version:           24.0.5
 API version:       1.43
 Go version:        go1.20.14
 Git commit:        ced0996
 Built:             Tue Jun 25 22:37:33 2024
 OS/Arch:           linux/amd64
 Context:           default

Server:
 Engine:
[76 ms]   Version:          24.0.5
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.14
  Git commit:       a61e2b4
  Built:            Tue Jun 25 22:38:06 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.6.21
  GitCommit:        3dce8eb055cbb6872793272b4f20ed16117344f8
 runc:
  Version:          1.1.12
  GitCommit:        
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
[81 ms] Start: Run: docker volume ls -q
[114 ms] Start: Run: docker ps -q -a --filter label=vsch.local.volume=vscode-remote-try-node-d773fe6db837e4b027e5be39a8a66cbe8f69ed4273833eb196b87fd108a6439a --filter label=vsch.quality=stable
[142 ms] Start: Run: docker ps -q -a --filter label=vsch.local.volume=vscode-remote-try-node-d773fe6db837e4b027e5be39a8a66cbe8f69ed4273833eb196b87fd108a6439a --filter label=devcontainer.config_file=/tmp/vsch-myuser/inspect-volume/0.384.0/.devcontainer.json
[172 ms] Start: Run: docker ps -q -a --filter label=vsch.local.volume=vscode-remote-try-node-d773fe6db837e4b027e5be39a8a66cbe8f69ed4273833eb196b87fd108a6439a
[206 ms] Start: Run: docker ps -q -a --filter label=vsch.local.volume=vscode-remote-try-node-d773fe6db837e4b027e5be39a8a66cbe8f69ed4273833eb196b87fd108a6439a
[235 ms] Running Dev Containers CLI:   up --user-data-folder /home/myuser/.config/Code/User/globalStorage/ms-vscode-remote.remote-containers/data --container-session-data-folder /tmp/devcontainers-0ff0f5b5-71a2-4dcf-b0bf-403862739e9e1726049800766 --workspace-folder /tmp/vsch-myuser/inspect-volume/0.384.0 --workspace-mount-consistency cached --id-label vsch.local.volume=vscode-remote-try-node-d773fe6db837e4b027e5be39a8a66cbe8f69ed4273833eb196b87fd108a6439a --id-label devcontainer.config_file=/tmp/vsch-myuser/inspect-volume/0.384.0/.devcontainer.json --log-level debug --log-format json --config /tmp/vsch-myuser/inspect-volume/0.384.0/.devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode-remote-try-node-d773fe6db837e4b027e5be39a8a66cbe8f69ed4273833eb196b87fd108a6439a,target=/workspaces,external=true --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default never --mount-workspace-git-root --include-configuration --include-merged-configuration
[235 ms] Start: Run: /usr/share/code/code /home/myuser/.vscode/extensions/ms-vscode-remote.remote-containers-0.384.0/dist/spec-node/devContainersSpecCLI.js up --user-data-folder /home/myuser/.config/Code/User/globalStorage/ms-vscode-remote.remote-containers/data --container-session-data-folder /tmp/devcontainers-0ff0f5b5-71a2-4dcf-b0bf-403862739e9e1726049800766 --workspace-folder /tmp/vsch-myuser/inspect-volume/0.384.0 --workspace-mount-consistency cached --id-label vsch.local.volume=vscode-remote-try-node-d773fe6db837e4b027e5be39a8a66cbe8f69ed4273833eb196b87fd108a6439a --id-label devcontainer.config_file=/tmp/vsch-myuser/inspect-volume/0.384.0/.devcontainer.json --log-level debug --log-format json --config /tmp/vsch-myuser/inspect-volume/0.384.0/.devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode-remote-try-node-d773fe6db837e4b027e5be39a8a66cbe8f69ed4273833eb196b87fd108a6439a,target=/workspaces,external=true --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default never --mount-workspace-git-root --include-configuration --include-merged-configuration
[414 ms] @devcontainers/cli 0.69.0. Node.js v20.15.1. linux 5.4.0-193-generic x64.
[414 ms] Start: Run: docker buildx version
[471 ms] github.com/docker/buildx v0.11.2 9872040b6626fb7d87ef7296fd5b832e8cc2ad17
[471 ms] 
[471 ms] Start: Run: docker -v
[497 ms] Start: Resolving Remote
[499 ms] Start: Run: git rev-parse --show-cdup
[504 ms] Start: Run: docker ps -q -a --filter label=vsch.local.volume=vscode-remote-try-node-d773fe6db837e4b027e5be39a8a66cbe8f69ed4273833eb196b87fd108a6439a --filter label=devcontainer.config_file=/tmp/vsch-myuser/inspect-volume/0.384.0/.devcontainer.json
[533 ms] Start: Run: docker inspect --type image mcr.microsoft.com/devcontainers/base:0-alpine-3.20
[562 ms] Loading 138 extra certificates from /etc/ssl/certs/ca-certificates.crt.
[1142 ms] Start: Run: docker buildx build --load --build-arg BUILDKIT_INLINE_CACHE=1 -f /tmp/devcontainercli-myuser/container-features/0.69.0-1726049802453/Dockerfile-with-features -t vsc-0.384.0-d02bf4b192210f9bf60e380fd0f36a4ecccc94d45fc6aafc3f10204dd5ad921f --target dev_containers_target_stage --build-arg _DEV_CONTAINERS_BASE_IMAGE=dev_container_auto_added_stage_label /tmp/vsch-myuser/inspect-volume/0.384.0
[+] Building 0.0s (0/0)                                          docker:default
ERROR: unable to prepare context: path "/tmp/vsch-myuser/inspect-volume/0.384.0" not found
[1361 ms] Error: Command failed: docker buildx build --load --build-arg BUILDKIT_INLINE_CACHE=1 -f /tmp/devcontainercli-myuser/container-features/0.69.0-1726049802453/Dockerfile-with-features -t vsc-0.384.0-d02bf4b192210f9bf60e380fd0f36a4ecccc94d45fc6aafc3f10204dd5ad921f --target dev_containers_target_stage --build-arg _DEV_CONTAINERS_BASE_IMAGE=dev_container_auto_added_stage_label /tmp/vsch-myuser/inspect-volume/0.384.0
[1362 ms]     at FtA (/home/myuser/.vscode/extensions/ms-vscode-remote.remote-containers-0.384.0/dist/spec-node/devContainersSpecCLI.js:466:1933)
[1362 ms]     at async Pm (/home/myuser/.vscode/extensions/ms-vscode-remote.remote-containers-0.384.0/dist/spec-node/devContainersSpecCLI.js:465:1896)
[1362 ms]     at async NH (/home/myuser/.vscode/extensions/ms-vscode-remote.remote-containers-0.384.0/dist/spec-node/devContainersSpecCLI.js:465:610)
[1363 ms]     at async YtA (/home/myuser/.vscode/extensions/ms-vscode-remote.remote-containers-0.384.0/dist/spec-node/devContainersSpecCLI.js:482:3771)
[1363 ms]     at async eB (/home/myuser/.vscode/extensions/ms-vscode-remote.remote-containers-0.384.0/dist/spec-node/devContainersSpecCLI.js:482:4886)
[1363 ms]     at async prA (/home/myuser/.vscode/extensions/ms-vscode-remote.remote-containers-0.384.0/dist/spec-node/devContainersSpecCLI.js:663:200)
[1363 ms]     at async drA (/home/myuser/.vscode/extensions/ms-vscode-remote.remote-containers-0.384.0/dist/spec-node/devContainersSpecCLI.js:662:14706)
[1373 ms] Exit code 1
[1386 ms] Command failed: /usr/share/code/code /home/myuser/.vscode/extensions/ms-vscode-remote.remote-containers-0.384.0/dist/spec-node/devContainersSpecCLI.js up --user-data-folder /home/myuser/.config/Code/User/globalStorage/ms-vscode-remote.remote-containers/data --container-session-data-folder /tmp/devcontainers-0ff0f5b5-71a2-4dcf-b0bf-403862739e9e1726049800766 --workspace-folder /tmp/vsch-myuser/inspect-volume/0.384.0 --workspace-mount-consistency cached --id-label vsch.local.volume=vscode-remote-try-node-d773fe6db837e4b027e5be39a8a66cbe8f69ed4273833eb196b87fd108a6439a --id-label devcontainer.config_file=/tmp/vsch-myuser/inspect-volume/0.384.0/.devcontainer.json --log-level debug --log-format json --config /tmp/vsch-myuser/inspect-volume/0.384.0/.devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode-remote-try-node-d773fe6db837e4b027e5be39a8a66cbe8f69ed4273833eb196b87fd108a6439a,target=/workspaces,external=true --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default never --mount-workspace-git-root --include-configuration --include-merged-configuration
[1386 ms] Exit code

已确认路径/tmp/vsch-myuser/inspect-volume/0.384.0实际存在,请问问题出在哪里?

解决方案
  • 切换工作区到非临时目录:VS Code Dev Containers会把仓库临时克隆到/tmp目录,部分系统的tmpfs或自动清理机制可能干扰Docker访问。手动克隆示例仓库到本地用户目录(比如~/dev/vscode-remote-try-node),再用VS Code打开该目录后重新启动开发容器。
  • 检查Docker对/tmp目录的访问权限:Ubuntu的AppArmor规则可能限制Docker访问/tmp下的特定子目录。可以尝试临时关闭AppArmor测试(sudo systemctl stop apparmor),如果解决问题,需要添加AppArmor规则允许Docker访问该路径,或者将工作区移到其他目录。
  • 验证用户Docker权限:确保当前用户在docker用户组中(groups | grep docker),如果不在,执行sudo usermod -aG docker $USER,重新登录后再尝试。
  • 更新相关组件版本:Dev Containers扩展、VS Code和Docker的版本兼容问题可能导致该错误。更新VS Code到最新版,升级Dev Containers扩展,同时更新Docker到最新稳定版后重试。
  • 手动指定构建上下文:如果上述方法无效,可以尝试手动修改.devcontainer配置,指定明确的构建上下文路径,避免使用临时目录。

内容的提问来源于stack exchange,提问作者garrik

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 11:59:52