Hacker News new | ask | show | jobs
by niahmiah 2204 days ago
what does this mean for running docker containers on macos?
8 comments

It means you better think about buying a thinkpad.
I moved to an X1 2 years ago when I refused to get the new keyboard and my 2013 MBP was on the way out, very happy to have Linux as the native OS for dev work, but I don't love the added time I do have to spend maintaining my own OS now.

Also slack and zoom for linux suck :(

Docker runs on Arm chips.
Yes, but Docker on ARM won't run your x86 containers.

Docker can run a different OS but not a different arch.

The point of Docker is kind of having the exactly same thing here and there.

With Docker, I can compile, run, test and debug my backend service on Windows or Mac and deploy to Linux, knowing that I ran and tested the exact same binary.

If you deploy on x86 (as you do), having ARM Docker doesn't help you much.

Good point!
but the image you want to run in it might not.
why can't I upvote you twice?
Most of my snark gets downvoted, so the one upvote is sufficient - thx!
indeed, my comment was downvoted four times. WORTH IT.
Docker containers on macos have such bad performance that I've given up and moved to remote development with VSCode. The killer for me was the innumerable bugs related to bind mounts causing 99% CPU usage. It just wasn't worth the trouble. I'm much happier now with a remote dev box. Really the kudos belongs to VSCode; remote development is implemented so well that I hardly even realize I'm using a different machine.
It means people need to start using buildkit and ship multiarch images. Insane that this is not already the norm. There are other arches beside x64.
What’s the server adoption of ARM?

Apple switched to x86 in the first place because it had become a standard. Adopting a common standard is always going to have advantages. The advantages of supporting or adopting ARM has to outweigh those advantages to be worthwhile. This is true not just for Apple but for the server market as well.

For Apple, there are two clear advantages: power efficiency (which is the same thing as heat) and vertical integration. AWS can enjoy the same advantages from ARM. But these are both essentially hardware providers. AWS still offers x86-based EC2 instances and while they might encourage users to migrate to ARM (by perhaps passing on their own savings), there’s a lot of inertia there. Apple is a company that bites the bullet and forces these migrations, but how many developers will support or migrate to ARM just because that’s what’s running their MacBook?

My comment wasn't really related to macs; imo if you ship binaries you should aim to provide builds for, say, the top 3 arches, and this is especially relevant for Docker images since the de facto standard for deploying them is just to pull them from dockerhub. Docker also fails in this regard since even though it knows the arch (it says it on dockerhub) docker client will still happily pull an amd64 image on ARM with no warning whatsoever
Right, what I’m saying is that until there’s a lot of movement in the server space away from amd64, I can completely understand why multiarch support isn’t a priority. It’s less of a fundamental principle and more of a tradeoff.
The support for multi-arch docker images is getting there, but there's not much of an ecosystem. Between Raspberry Pi, ARM instances on AWS, and ARM-based Macs, it ought to get to critical mass before too long.
Presumably, two options:

1. Build docker containers for ARM.

2. Run Intel containers under qemu.

Sounds like a “pro” use case.
> The shift to ARM will eventually include the entire Mac lineup, Bloomberg reports.

Much like Apple turned Final Cut Pro into iMovie Pro, this is looking like every Mac Pro will turn into an iPhone Pro. I could be mistaken, maybe they'll figure out some way of handling x86 with real hardware, but if not this is a massive gift to Microsoft.

I don't think they will switch the whole product line to ARM. My guess is that they will have a line of Intel computers for a long time for professional who need them.
the article says it's eventually everything
eventually could mean one year as well as ten years.
there is no reason to think it would be a long timeframe given their history with similar transitions
Apple already supports devices on different chips (Intel on laptops, ARM on iOS). There is nothing strange about them keeping laptops with different processors, depending on the intended use.
It's not just the hardware, it the third party software too.

If the hardware is available but you can't run the usual software no one is going to buy that. this is what I meant.

The hardware might be announced but it might not come until a decent enough number of key apps are ported.

As I said before, the article states expressly that they're moving everything:

> Like it did then, the company plans to eventually transition the entire Mac lineup to its Arm-based processors, including the priciest desktop computers, the people said.

Docker on Mac already runs a VM, so not much. There will need to be a CPU emulator or translator a la Rosetta if you’re container needed to run X86 specific code.