Hacker News new | past | comments | ask | show | jobs | submit login

You mention Docker which most definitely will be impacted by this change. Docker on Mac runs off a virtualized x86 Linux instance. Docker only announced ARM support last year I think, I can't imagine Docker for ARM would be as anywhere near as fully supported as it is for x86, and you certainly won't be able to build x86 images to push to x86 servers, without using some sort of emulation layer which will be horribly slow compared to current macOS x86 docker.



Currently running docker using WSL2 on an ARM laptop. So it's pretty much native Linux, as an anecdote I can tell you that it's just that much more stable than with my Mac or with a traditional Windows laptop. The only downsides is there's a few docker containers that you have to hunt around for to get the ARM64 version. The only way I see docker performance to be better than this or more stable is to switch to a Linux machine entirely.


Yes - that's what I was alluding to in my original reply, re: lack of support, lack of images. Docker running on ARM might be great, but one of the original purposes of docker was to build and run the exact same images that would run on your servers, which will no longer be the case unless those servers are ARM based as well.


What laptop ?


Surface Pro X


I use ARM64 Docker on my Raspberry Pi 4s, it’s excellent and loads of images are already available.


But for instance emulating an ARM raspberry on a fairly powerful i7 through qemu is... an exercice in patience to say the least, from my experience compiling the same codebase on the host system and the emulated Pi, it is almost 10x slower. So I'm not holding out on ARM having powerful x86 emulation.


Use qemu user mode with a chroot, it's much faster.


I'm using https://github.com/multiarch/qemu-user-static - that's what it is, right ?


Yes, indeed.

But instead of docker, just deboostrap the amd64 release under a directory, copy qemu-amd64 to $DIR/usr/bin and chroot into that directory. Docker is a bit of a mess.

Before chrooting, bind-mount:

/dev to $DIR/dev

/proc to $DIR/proc

/dev/pts to $DIR/pts

/sys to $DIR/dev

/home to $DIR/home

copy /etc/resolv.conf to $DIR/etc/resolv.conf

Then chroot and login (su -l yourusername). That way you could try running a lot of software.


okay, will try to see what that gives. I'm curious as to why it would be slower (when taking into account that an equivalent docker container, say running debian stable, but with the same architecture as the host, runs in more-or-less the same time as building directly with my host's GCC)


>ut with the same architecture as the host

debootstrap an ARM rootfs, please.


Yeah but that's Linux. Docker works excellent on Linux distros


Yep - I make no claims as to how well Docker works on an ARM Mac.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: