Dev Container - No ARM64 Support
I totally could be doing something wrong here myself.
However, when I try to launch inside of the dev container (using the latest version of docker, engine, code, etc across the board). I am greeted with an amazing error acting as if mcr.microsoft.com/devcontainers/universal:2-linux does not support ARM? This is on a m3 MacBook Pro.
Log Output:
[2025-03-12T19:26:55.405Z] Dev Containers 0.401.0 in VS Code 1.98.1 (2fc07b811f760549dab9be9d2bedd06c51dfcb9a).
[2025-03-12T19:26:55.405Z] Start: Resolving Remote
[2025-03-12T19:26:55.413Z] Setting up container for folder or workspace: /Users/larsoncarter/Documents/GIT-REPOS/typescript-go
[2025-03-12T19:26:55.413Z] Context: desktop-linux
[2025-03-12T19:26:55.414Z] Start: Check Docker is running
[2025-03-12T19:26:55.414Z] Start: Run: docker version
[2025-03-12T19:26:55.440Z] Client:
Version: 27.4.0
API version: 1.47
Go version: go1.22.10
Git commit:
[2025-03-12T19:26:55.441Z] bde2b89
Built: Sat Dec 7 10:35:43 2024
OS/Arch: darwin/arm64
Context: desktop-linux
Server: Docker Desktop 4.37.1 (178610)
Engine:
Version: 27.4.0
API version: 1.47 (minimum version 1.24)
Go version: go1.22.10
Git commit: 92a8393
Built: Sat Dec 7 10:38:33 2024
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: 1.7.21
GitCommit: 472731909fa34bd7bc9c087e4c27943f9835f111
runc:
Version: 1.1.13
GitCommit: v1.1.13-0-g58aa920
docker-init:
Version: 0.19.0
GitCommit: de40ad0
[2025-03-12T19:26:55.443Z] Stop (29 ms): Run: docker version
[2025-03-12T19:26:55.443Z] Stop (29 ms): Check Docker is running
[2025-03-12T19:26:55.443Z] Start: Run: docker volume ls -q
[2025-03-12T19:26:55.456Z] Stop (13 ms): Run: docker volume ls -q
[2025-03-12T19:26:55.456Z] Start: Run: docker ps -q -a --filter label=vsch.local.folder=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go --filter label=vsch.quality=stable
[2025-03-12T19:26:55.469Z] Stop (13 ms): Run: docker ps -q -a --filter label=vsch.local.folder=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go --filter label=vsch.quality=stable
[2025-03-12T19:26:55.469Z] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go --filter label=devcontainer.config_file=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go/.devcontainer/devcontainer.json
[2025-03-12T19:26:55.481Z] Stop (12 ms): Run: docker ps -q -a --filter label=devcontainer.local_folder=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go --filter label=devcontainer.config_file=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go/.devcontainer/devcontainer.json
[2025-03-12T19:26:55.481Z] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go
[2025-03-12T19:26:55.493Z] Stop (12 ms): Run: docker ps -q -a --filter label=devcontainer.local_folder=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go
[2025-03-12T19:26:55.493Z] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go
[2025-03-12T19:26:55.506Z] Stop (13 ms): Run: docker ps -q -a --filter label=devcontainer.local_folder=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go
[2025-03-12T19:26:55.506Z] Running Dev Containers CLI: up --user-data-folder /Users/larsoncarter/Library/Application Support/Code/User/globalStorage/ms-vscode-remote.remote-containers/data --container-session-data-folder /tmp/devcontainers-aeea2001-0096-4061-ae5d-42e6d443fc0b1741807615016 --workspace-folder /Users/larsoncarter/Documents/GIT-REPOS/typescript-go --workspace-mount-consistency cached --gpu-availability detect --id-label devcontainer.local_folder=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go --id-label devcontainer.config_file=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go/.devcontainer/devcontainer.json --log-level debug --log-format json --config /Users/larsoncarter/Documents/GIT-REPOS/typescript-go/.devcontainer/devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root --include-configuration --include-merged-configuration
[2025-03-12T19:26:55.519Z] ProxyResolver#loadSystemCertificates count
[2025-03-12T19:26:55.520Z] ProxyResolver#loadSystemCertificates count filtered
[2025-03-12T19:26:55.520Z] Start: Run: /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) /Users/larsoncarter/.vscode/extensions/ms-vscode-remote.remote-containers-0.401.0/dist/spec-node/devContainersSpecCLI.js up --user-data-folder /Users/larsoncarter/Library/Application Support/Code/User/globalStorage/ms-vscode-remote.remote-containers/data --container-session-data-folder /tmp/devcontainers-aeea2001-0096-4061-ae5d-42e6d443fc0b1741807615016 --workspace-folder /Users/larsoncarter/Documents/GIT-REPOS/typescript-go --workspace-mount-consistency cached --gpu-availability detect --id-label devcontainer.local_folder=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go --id-label devcontainer.config_file=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go/.devcontainer/devcontainer.json --log-level debug --log-format json --config /Users/larsoncarter/Documents/GIT-REPOS/typescript-go/.devcontainer/devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root --include-configuration --include-merged-configuration
[2025-03-12T19:26:55.633Z] @devcontainers/cli 0.74.0. Node.js v20.18.2. darwin 24.3.0 arm64.
[2025-03-12T19:26:55.633Z] Start: Run: docker buildx version
[2025-03-12T19:26:55.677Z] Stop (44 ms): Run: docker buildx version
[2025-03-12T19:26:55.677Z] github.com/docker/buildx v0.19.2-desktop.1 412cbb151f1be3f8a94dc4eb03cd1b67f261dec5
[2025-03-12T19:26:55.677Z]
[2025-03-12T19:26:55.677Z] Start: Run: docker -v
[2025-03-12T19:26:55.686Z] Stop (9 ms): Run: docker -v
[2025-03-12T19:26:55.686Z] Start: Resolving Remote
[2025-03-12T19:26:55.687Z] Start: Run: git rev-parse --show-cdup
[2025-03-12T19:26:55.697Z] Stop (10 ms): Run: git rev-parse --show-cdup
[2025-03-12T19:26:55.698Z] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go --filter label=devcontainer.config_file=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go/.devcontainer/devcontainer.json
[2025-03-12T19:26:55.714Z] Stop (16 ms): Run: docker ps -q -a --filter label=devcontainer.local_folder=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go --filter label=devcontainer.config_file=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go/.devcontainer/devcontainer.json
[2025-03-12T19:26:55.714Z] Start: Run: docker inspect --type image mcr.microsoft.com/devcontainers/universal:2-linux
[2025-03-12T19:26:55.730Z] Stop (16 ms): Run: docker inspect --type image mcr.microsoft.com/devcontainers/universal:2-linux
[2025-03-12T19:26:55.731Z] Loading 3 extra certificates from /var/folders/g0/0rp5g5411792v2nvqx5gsf480000gn/T/vsch/certificates-f131537da37deca1bf49cd648d82e6f73d07785ec544b65ea6df946dbc94e78e.pem.
[2025-03-12T19:26:56.214Z] Error fetching image details: No manifest found for mcr.microsoft.com/devcontainers/universal:2-linux.
[2025-03-12T19:26:56.215Z] Start: Run: docker pull mcr.microsoft.com/devcontainers/universal:2-linux
[2025-03-12T19:26:56.954Z] Error response from daemon: no matching manifest for linux/arm64/v8 in the manifest list entries: no match for platform in manifest: not found
[2025-03-12T19:26:56.956Z] Stop (741 ms): Run: docker pull mcr.microsoft.com/devcontainers/universal:2-linux
[2025-03-12T19:26:56.957Z] []
[2025-03-12T19:26:56.957Z] Error response from daemon: No such image: mcr.microsoft.com/devcontainers/universal:2-linux
[2025-03-12T19:26:56.957Z] Error: Command failed: docker inspect --type image mcr.microsoft.com/devcontainers/universal:2-linux
[2025-03-12T19:26:56.958Z] at ytA (/Users/larsoncarter/.vscode/extensions/ms-vscode-remote.remote-containers-0.401.0/dist/spec-node/devContainersSpecCLI.js:468:1260)
[2025-03-12T19:26:56.958Z] at bH (/Users/larsoncarter/.vscode/extensions/ms-vscode-remote.remote-containers-0.401.0/dist/spec-node/devContainersSpecCLI.js:468:1002)
[2025-03-12T19:26:56.958Z] at async TtA (/Users/larsoncarter/.vscode/extensions/ms-vscode-remote.remote-containers-0.401.0/dist/spec-node/devContainersSpecCLI.js:485:3848)
[2025-03-12T19:26:56.958Z] at async iB (/Users/larsoncarter/.vscode/extensions/ms-vscode-remote.remote-containers-0.401.0/dist/spec-node/devContainersSpecCLI.js:485:4963)
[2025-03-12T19:26:56.958Z] at async wrA (/Users/larsoncarter/.vscode/extensions/ms-vscode-remote.remote-containers-0.401.0/dist/spec-node/devContainersSpecCLI.js:666:203)
[2025-03-12T19:26:56.958Z] at async DrA (/Users/larsoncarter/.vscode/extensions/ms-vscode-remote.remote-containers-0.401.0/dist/spec-node/devContainersSpecCLI.js:665:14830)
[2025-03-12T19:26:56.958Z] at async /Users/larsoncarter/.vscode/extensions/ms-vscode-remote.remote-containers-0.401.0/dist/spec-node/devContainersSpecCLI.js:485:1190
[2025-03-12T19:26:56.966Z] Stop (1446 ms): Run: /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) /Users/larsoncarter/.vscode/extensions/ms-vscode-remote.remote-containers-0.401.0/dist/spec-node/devContainersSpecCLI.js up --user-data-folder /Users/larsoncarter/Library/Application Support/Code/User/globalStorage/ms-vscode-remote.remote-containers/data --container-session-data-folder /tmp/devcontainers-aeea2001-0096-4061-ae5d-42e6d443fc0b1741807615016 --workspace-folder /Users/larsoncarter/Documents/GIT-REPOS/typescript-go --workspace-mount-consistency cached --gpu-availability detect --id-label devcontainer.local_folder=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go --id-label devcontainer.config_file=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go/.devcontainer/devcontainer.json --log-level debug --log-format json --config /Users/larsoncarter/Documents/GIT-REPOS/typescript-go/.devcontainer/devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root --include-configuration --include-merged-configuration
[2025-03-12T19:26:56.966Z] Exit code 1
[2025-03-12T19:26:56.969Z] Command failed: /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) /Users/larsoncarter/.vscode/extensions/ms-vscode-remote.remote-containers-0.401.0/dist/spec-node/devContainersSpecCLI.js up --user-data-folder /Users/larsoncarter/Library/Application Support/Code/User/globalStorage/ms-vscode-remote.remote-containers/data --container-session-data-folder /tmp/devcontainers-aeea2001-0096-4061-ae5d-42e6d443fc0b1741807615016 --workspace-folder /Users/larsoncarter/Documents/GIT-REPOS/typescript-go --workspace-mount-consistency cached --gpu-availability detect --id-label devcontainer.local_folder=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go --id-label devcontainer.config_file=/Users/larsoncarter/Documents/GIT-REPOS/typescript-go/.devcontainer/devcontainer.json --log-level debug --log-format json --config /Users/larsoncarter/Documents/GIT-REPOS/typescript-go/.devcontainer/devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root --include-configuration --include-merged-configuration
[2025-03-12T19:26:56.969Z] Exit code 1
I have encountered the same error on my machine, macbookPro(M4).
It looks like this Docker image doesn't support arm64. https://hub.docker.com/r/microsoft/vscode-devcontainers
Log Output:
...
[2025-03-13T13:04:43.430Z] Start: Run: docker version
[2025-03-13T13:04:43.451Z] Client:
Version: 28.0.1
API version: 1.48
Go version: go1.23.6
Git commit: 068a01e
Built: Wed Feb 26 10:38:16 2025
OS/Arch: darwin/arm64
Context: desktop-linux
Server: Docker Desktop 4.39.0 (184744)
Engine:
[2025-03-13T13:04:43.451Z] Version: 28.0.1
API version: 1.48 (minimum version 1.24)
Go version: go1.23.6
Git commit: bbd0a17
Built: Wed Feb 26 10:40:57 2025
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: 1.7.25
GitCommit: bcc810d6b9066471b0b6fa75f557a15a1cbf31bb
runc:
Version: 1.2.4
GitCommit: v1.2.4-0-g6c52b3f
docker-init:
Version: 0.19.0
...(almost same)
I've reached out to some friends internally who might be able to help with this. This isn't specific to this repo, but in the meantime you can spin up a Codespace for free where this should work okay.
From that contact:
Hey everyone, the “universal” image is a custom image for Codespaces and currently only built for amd64 (there are no ARM Codespaces). I think parts of it (like Conda) are indeed not available for ARM.
Looks like we'll need something a bit more custom.