FIX: Add arm64 Support for devcontainer#1409
Merged
spencrr merged 1 commit intoAzure:mainfrom Mar 4, 2026
Merged
Conversation
Contributor
Author
|
@microsoft-github-policy-service agree company="Microsoft" |
a51c9c0 to
6f8ad74
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the devcontainer configuration to build and run on both amd64 and arm64 hosts by removing hardcoded amd64 platform targeting and making Microsoft repo/package installation architecture-aware.
Changes:
- Removed
linux/amd64platform pinning from the devcontainer Dockerfile and docker-compose configuration. - Made the Microsoft apt repo entry use the host architecture and installed MSSQL tooling only on amd64.
- Added Rust toolchain installation to support building Python dependencies on platforms without prebuilt wheels (e.g., arm64).
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
.devcontainer/docker-compose.yml |
Removes amd64-only platform pin so Compose uses the native host architecture. |
.devcontainer/Dockerfile |
Removes amd64-only base image constraint; makes Microsoft apt repo arch-aware; conditionally installs MSSQL tools; adds Rust toolchain. |
romanlutz
reviewed
Mar 2, 2026
7101576 to
b9f316c
Compare
fd3a090 to
1b7b0aa
Compare
nina-msft
approved these changes
Mar 3, 2026
romanlutz
reviewed
Mar 4, 2026
Contributor
I checked this, the devcontainer setup works on Mac! |
Contributor
Author
@romanlutz I tried out on an M1 Mac (arm64) - maybe we can add a macos github actions smoketest workflow🤔 Details
docker buildx build .
[+] Building 0.1s (15/15) FINISHED docker:desktop-linux
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 3.75kB 0.0s
=> [internal] load metadata for mcr.microsoft.com/devcontainers/python:3.11 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [ 1/11] FROM mcr.microsoft.com/devcontainers/python:3.11 0.0s
=> CACHED [ 2/11] RUN rm -f /etc/apt/sources.list.d/yarn.list 2>/dev/null || true 0.0s
=> CACHED [ 3/11] RUN apt-get update && apt-get install -y sudo unixodbc unixodbc-dev libgl1 git curl 0.0s
=> CACHED [ 4/11] RUN apt-get update && apt-get install -y apt-transport-https ca-certificates gnupg lsb- 0.0s
=> CACHED [ 5/11] RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libasou 0.0s
=> CACHED [ 6/11] RUN curl -LsSf https://astral.sh/uv/install.sh | sh && mv /root/.local/bin/uv /usr/local/bin/uv && rm -rf /op 0.0s
=> CACHED [ 7/11] RUN echo "vscode ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers 0.0s
=> CACHED [ 8/11] RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && apt-get install -y nodejs && npm install -g 0.0s
=> CACHED [ 9/11] RUN mkdir -p /home/vscode/.cache/pre-commit && mkdir -p /home/vscode/.vscode-server && mkdir -p /home/vscode/ 0.0s
=> CACHED [10/11] RUN touch /home/vscode/.bashrc /home/vscode/.bash_profile && echo "[ -f /opt/venv/bin/activate ] && source /op 0.0s
=> CACHED [11/11] RUN git config --global core.preloadindex true && git config --global core.fscache true && git config --globa 0.0s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:3e84e0f8b7f8699803802b15a7ca95993eea9b09cb5a15525a5cbfc73b9aa431 |
Contributor
347a824 to
d4bfdda
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fixes the devcontainer to support both amd64 and arm64 architectures. Previously, the Dockerfile and docker-compose.yml hardcoded
linux/amd64, which caused issues on ARM-based machines.Changes
--platform=linux/amd64from theFROMinstruction in.devcontainer/Dockerfileso Docker uses the host's native architecture.platform: linux/amd64from.devcontainer/docker-compose.yml.arch=amd64witharch=$(dpkg --print-architecture).mssql-toolstomssql-tools18, which adds arm64 support (the oldermssql-toolspackage was amd64-only). Removed the redundantunixodbc-devinstall (already installed in the earlierapt-getblock).Tests and Documentation