5 ms·
> emulating virtualized x86 code I don't think this is an issue for Docker. They can run an ARM64 Linux VM instead of the current x86 one, and then use QEMU to
by seabrookmx 6y ago
> emulating virtualized x86 code
I don't think this is an issue for Docker. They can run an ARM64 Linux VM instead of the current x86 one, and then use QEMU to run x86 Docker containers within it if they want.
The bummer is that this won't be taking advantage of Rosetta 2 so it'll likely perform bad, but it might be good enough for debugging the odd image or even development depending on _how_ bad.
- the_duke 6y agoQemu performance without hardware virtualization is painfully slow and is not really practical for eg running a Kubernetes cluster.
- seabrookmx 6y agoYeah that's what I was getting at. There is no hardware virtualization here because it's emulating a different architecture. Rosetta 2 is able to do this entirely in software with very impressive performance but I doubt QEMU will be in the same league. That said, if you can get most of your containers in native ARM (you can already run k8s on ARM, for instance), it might be a valid escape hatch for the odd image that hasn't updated yet.
- IceWreck 6y ago> I don't think this is an issue for Docker. They can run an ARM64 Linux VM instead of the current x86 one, and then use QEMU to run x86 Docker containers within it if they want. If youre at the point where you have to run a container running inside an emulator inside a VM on an ARM Mac then you should just get an x86 linux machine and enjoy performance and native support for containers.
- hnarayanan 6y agoThis is not what running an ARM64 Linux VM means.
- skohan 6y agoAre you just talking about using an ARM64 container your root container? This kind of breaks the point of docker if you're running on x86 in the cloud, doesn't it? You're no longer developing in your exact deployment environment, which is one of the key benefits of docker.