-
Notifications
You must be signed in to change notification settings - Fork 122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
32-bit op-mode on x86_64/Linux container on Mac M1 #6796
Comments
I'm posting here a workaround found by @codeperfect, posted here: microsoft/vscode-dev-containers#1548 (comment) This solution uses
$ colima start --arch x86_64 --cpu 4 --memory 16
$ colima status
INFO[0000] colima is running using QEMU
INFO[0000] arch: x86_64
INFO[0000] runtime: docker
INFO[0000] mountType: sshfs
INFO[0000] socket: unix:///Users/kblazewicz/.colima/default/docker.sock
$ docker run -it --rm debian:bullseye Now 64-bit instruction set is available from within containers:
|
Regarding the Are there plans to fix this in Docker? In the sense of being able to run 64 bit x86_64 Linux container (via Rosetta) on a Mac with M-series chip? Thanks! |
any update on this? |
same here @amirjalali1 |
I can confirm what @3f6a said: it is very, very, slow |
Colima also has rosetta support, which is much better for 64bit x86 images in my experience. But the CPU and Memory settings can be a hit or a miss. |
Hi everyone, do you have an example of command that actually fails because of this? I'd love to try to reproduce. |
just runnning this on m1 mac ends up 32bit opmode inside the container. (can be checked by Please fix this.... |
Here's a comment I put in the other issue showing the differences between an Intel and M1 using a |
Expected behavior
I am expecting to be able to run x86_64/Linux applications and a development environment on a Mac M1
Actual behavior
I get segfaults and unexpected behavior likely due to a 32-bit opmode
Information
I am trying to use Docker on my M1 MacBook to run some tools in an amd64/Linux environment. I am having issues that appear to be related to the lack of support of 64-bit instructions. I am wondering if this a limitation of the Docker Virtual machine.
Docker Version: 04.18.0 (104112)
Computer: MacBook Pro M1 / macOS (12.6.4)
For example, on my M1 MacBook I tried “docker run -it --rm --platform=linux/amd64 opensuse/leap:15.4”
then lscpu yields:
Architecture: x86_64
CPU op-mode(s): 32-bit
…
On a x86_64 Linux host, running the same command I see:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
It seems that the lack of a 64-bit op-mode is causing segmentation faults for the application I am trying to run. Am I doing something incorrectly or is this an issue Docker on Macs or somehow related to the underlying QEMU VM?
Steps to reproduce the behavior
On a x86_64 Linux host, running the same command I see:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
On my M1 Mac I see:
Architecture: x86_64
CPU op-mode(s): 32-bit
The text was updated successfully, but these errors were encountered: