Hacker News new | ask | show | jobs
by dolni 1937 days ago
> Since when has Docker on Intel Mac been crappy?

Since forever if you actually try to use it for real development? https://github.com/docker/for-mac/issues/77

> As far as the "laundry list" is concerned... 12 apps were listed. 5 were emulated, 4 were native and only one having a minor issue that was easily fixed. Only one of the apps needed a preview version and that was docker. VSCode worked fine emulated but there was a native version being tested.

I will quote the relevant parts of the article here since you can't be bothered to read the whole thing.

> One issue I encountered on both my M1 laptop and also a MacStadium MacMini instance that we use for Mac testing is that Brew randomly started to complain about git missing.

> The Docker team advise that QEMU is a best-effort approach and that it is best to run images natively as much as possible. I have encountered myself issues with some binaries when I tried to emulate them via QEMU.

> One thing to note is that Docker-in-Docker is not supported by QEMU (abandoned PR here). So you cannot run an arm64 Docker in an amd64 Docker or vice-versa. However, if you run your natively-supported Docker-in-Docker, the inner Docker can still run multi-platform images fine.

> Another issue that I noticed with the Docker preview on the M1 is that there are currently performance issues with multi-processor use - so much so that performance using a single core is sometimes slightly better than the performance of using 8 cores. Or at least that's what @jasmas claims. I've also seen some benchmarks testing the import of a database like MySQL, and it seems that there are some clear performance issues (~25X) with the Apple virtualization API. I've not seen such a drastic difference in common use, but hopefully these are addressed soon.

> An issue I ran into with the amd64 version was that I did not realize that the terminal was also an amd64 process (Again, Rosetta 2 is just that good). In some situations, this led to some strange issues when running Docker, where QEMU was acting up with segmentation faults. After some head-scratching the issue was resolved by switching to the ARM-based VS Code Insiders edition.

> I ran into issues when using the JVM. After investigating online, it seems that OpenJDK is not yet available for the M1. The way this was manifesting for me was that the JVM process would just hang randomly. By using --platform=linux/amd64 in Docker or in Earthly builds, I was able to get OpenJDK to work most of the time, but I'm still seeing random hangs.

All of these bugs after the author _initially_ wrote:

> All the software I need to use "just works". I found that if an ARM-native version is not available for an application, the emulated one works just fine and there's no performance drawback that I can notice.

> I am very confused where you are coming up with there being a ton of hoops or beta software needed for this.

Reading the article rather than skimming it helps a lot.