VSCode の dev container で「a error occurred setting up the container」が発生した場合。

2023-12-06

とってきたプロジェクトをVSCodeで開いて、「Reopen in Container」をするとタイトルのエラーで起動せず。

結論からいうと

  • dockerを停止
  • ~/.docker/contexts/meta/{sha256}/meta.jsonを削除。
    (Windowsは、C:\Users\USER_NAME\.docker\contexts\meta\{sha256}\meta.json)
  • docker を起動

で解決しました。

症状

docker compose up だけを実行すると、正常に動作している模様。

エラーログの中であやしそうな「docker endpoint for “default" not found」で検索。対処方法発見。

windows – Docker endpoint for “default" not found – Stack Overflow

「Reopen in Container」したときのエラーログ。

version: '3'

services:
  workspace:
    build:
      dockerfile: C:\Users\UserName\AppData\Local\Temp\devcontainercli\container-features\0.52.1-1701835159569\Dockerfile-with-features
      args:
        - BUILDKIT_INLINE_CACHE=1
        - _DEV_CONTAINERS_BASE_IMAGE=dev_container_auto_added_stage_label

[] Start: Run: docker-compose --ProjectName ProjectName -f c:\Users\UserName\src\clojure\tmp\ProjectName\docker-compose.yml -f c:\Users\UserName\src\clojure\tmp\ProjectName\.devcontainer\docker-compose.devcontainer.yml -f c:\Users\UserName\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-containers\data\docker-compose\docker-compose.devcontainer.build-1701835159601.yml build
[] 
[] docker endpoint for "default" not found
[] Stop (384 ms): Run: docker-compose --ProjectName ProjectName -f c:\Users\UserName\src\clojure\tmp\ProjectName\docker-compose.yml -f c:\Users\UserName\src\clojure\tmp\ProjectName\.devcontainer\docker-compose.devcontainer.yml -f c:\Users\UserName\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-containers\data\docker-compose\docker-compose.devcontainer.build-1701835159601.yml build
[] Error: Command failed: docker-compose --ProjectName ProjectName -f c:\Users\UserName\src\clojure\tmp\ProjectName\docker-compose.yml -f c:\Users\UserName\src\clojure\tmp\ProjectName\.devcontainer\docker-compose.devcontainer.yml -f c:\Users\UserName\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-containers\data\docker-compose\docker-compose.devcontainer.build-1701835159601.yml build
[] at Ww (c:\Users\UserName\.vscode\extensions\ms-vscode-remote.remote-containers-0.321.0\dist\spec-node\devContainersSpecCLI.js:427:522)
[] at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
[] at async sAA (c:\Users\UserName\.vscode\extensions\ms-vscode-remote.remote-containers-0.321.0\dist\spec-node\devContainersSpecCLI.js:427:2491)
[] at async oAA (c:\Users\UserName\.vscode\extensions\ms-vscode-remote.remote-containers-0.321.0\dist\spec-node\devContainersSpecCLI.js:409:3170)
[] at async NAA (c:\Users\UserName\.vscode\extensions\ms-vscode-remote.remote-containers-0.321.0\dist\spec-node\devContainersSpecCLI.js:479:3833)
[] at async vC (c:\Users\UserName\.vscode\extensions\ms-vscode-remote.remote-containers-0.321.0\dist\spec-node\devContainersSpecCLI.js:479:4775)
[] at async etA (c:\Users\UserName\.vscode\extensions\ms-vscode-remote.remote-containers-0.321.0\dist\spec-node\devContainersSpecCLI.js:613:10941)
[] at async AtA (c:\Users\UserName\.vscode\extensions\ms-vscode-remote.remote-containers-0.321.0\dist\spec-node\devContainersSpecCLI.js:613:10682)
[] Stop (1974 ms): Run: C:\Users\UserName\AppData\Local\Programs\Microsoft VS Code\Code.exe --ms-enable-electron-run-as-node c:\Users\UserName\.vscode\extensions\ms-vscode-remote.remote-containers-0.321.0\dist\spec-node\devContainersSpecCLI.js up --user-data-folder c:\Users\UserName\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-containers\data --container-session-data-folder /tmp/devcontainers-4708a47a-a625-4e5b-bf54-efef3b5777bf1701835155632 --workspace-folder c:\Users\UserName\src\clojure\tmp\ProjectName --workspace-mount-consistency cached --id-label devcontainer.local_folder=c:\Users\UserName\src\clojure\tmp\ProjectName --id-label devcontainer.config_file=c:\Users\UserName\src\clojure\tmp\ProjectName\.devcontainer\devcontainer.json --log-level debug --log-format json --config c:\Users\UserName\src\clojure\tmp\ProjectName\.devcontainer\devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --mount type=bind,source=\\wsl.localhost\Ubuntu\mnt\wslg\runtime-dir\wayland-0,target=/tmp/vscode-wayland-92e51e7c-f7cb-4f55-b8f9-f6b0b9c4066f.sock --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root
[] Exit code 1
[] Command failed: C:\Users\UserName\AppData\Local\Programs\Microsoft VS Code\Code.exe --ms-enable-electron-run-as-node c:\Users\UserName\.vscode\extensions\ms-vscode-remote.remote-containers-0.321.0\dist\spec-node\devContainersSpecCLI.js up --user-data-folder c:\Users\UserName\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-containers\data --container-session-data-folder /tmp/devcontainers-4708a47a-a625-4e5b-bf54-efef3b5777bf1701835155632 --workspace-folder c:\Users\UserName\src\clojure\tmp\ProjectName --workspace-mount-consistency cached --id-label devcontainer.local_folder=c:\Users\UserName\src\clojure\tmp\ProjectName --id-label devcontainer.config_file=c:\Users\UserName\src\clojure\tmp\ProjectName\.devcontainer\devcontainer.json --log-level debug --log-format json --config c:\Users\UserName\src\clojure\tmp\ProjectName\.devcontainer\devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --mount type=bind,source=\\wsl.localhost\Ubuntu\mnt\wslg\runtime-dir\wayland-0,target=/tmp/vscode-wayland-92e51e7c-f7cb-4f55-b8f9-f6b0b9c4066f.sock --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root
[] Exit code 1