Support ARM64 containers / images #558
Description
UPDATE - Images previously built out of this repository are now at https://github.com/devcontainers/images
Please raise issues there. Jammy and Bullseye images now exist and are broadly supported. We have no plans for arm64 support for Focal or Buster image nor other distros like centos:8 that experience random crashing. See here for details.
---- ORIGINAL TEXT ---
Currently the definitions in this repository are x86_64 based. Some scripts will likely need to be modified to support ARM64. In addition, pre-built definitions will need to be compiled for ARM64 after this has been done.
UPDATE
Images listed below should now all be released with arm64 variations (you can now omit the dev
prefix and use 0-
or another sub-version as you see fit). UX in the Add Dev Container Configuration Files command in VS Code will be getting updated incrementally in Remote - Containers and Codespaces to list -bullseye
variants with amd64/Apple Silicon support (along with other variants where possible for backwards compatibility).
To update existing dev container configuration files from this repository, you can append -bullseye
to the VARIANT
argument. For many configuration, this will be in devcontainer.json. For example, for Python:
"build": {
"dockerfile": "Dockerfile",
"args": {
"VARIANT": "3-bullseye"
}
}
Cases where the VARIANT argument is in docker-compose.yaml are similar. For example, for Python 3 & Postgres:
#...
build:
dockerfile: Dockerfile
args:
VARIANT: 3-bullseye
#...
We have also updated mcr.microsoft.com/vscode/devcontainers/base:alpine
and related tags now that Remote - Containers supports Alpine arm64 as of the release of VS Code 1.61.
After the C#/.NET extension added support for ARM, arm support for the dotnet
images's bullseye variations have ARM64 support starting with version 0.203.0 of the .NET images (e.g. mcr.microsoft.com/vscode/devcontainers/dotnet:0.203.0-6.0-bullseye
) in release v0.224.0.