So your problem has nothing to do with ARM architecture or macOS itself, but on a lack of RAM.
Docker uses a lot of RAM on every platform, not only on macOS.
Looks like your company made a bad decision when choosing its hardware.
We use 16Gb M2 Pro to run docker instances running a copy of our infrastructure (ELK, CH, MariaDB, some maintenance batches, video encoding etc) with zero issue.
Docker most certainly does not use as much memory on Linux. Maybe on Windows, but not on Linux. It’s not an issue with the amount of RAM. I had the same amount of memory on my previous Linux machine and it never even started swapping, whereas the new Macs start swapping soon as my usual dev environment with all the containers and the software and whathaveyous is up. Fortunately the system handles it pretty well, so it’s not very noticeable.
I mean one of the main selling points of Docker is that it’s not supposed to use a lot of memory to begin with because it’s not a full-on VM. Otherwise I’d never been able to run it on all my puny first gen Raspberry Pis and tiny LXCs. But of course this applies to Linux mostly, because it’s designed to share the Linux kernel. Hence the need to expend extra memory and CPU for compatibility on Windows and Macos.
Do agree on the bad hardware decision bit though. Ours are 16GB M2 Pros too. The boss, who’s not the most tech-savvy person on the planet, chose those because that’s what he uses. One day we found out that we were getting new laptops and that they would be M2 Pros, and that was it. If I was in charge of the purchase, I would deck everyone out with high-end x64 laptops that have a usable number of IO ports. Would have been significantly cheaper too. Everyone is just alt-tabbing between their IDEs and terminals anyway, so they’d hardly miss the “macos experience”.
Docker for Mac has to run Linux in a virtual machine because macOS doesn’t natively support the containerisation APIs. That’s why it takes more memory and runs a bit slower than it does when running natively on a Linux machine.
I want to go to Mac, but the cost of additional ram is horrendous, and it’s directly baked in to the soc. Through work I have a few very high end machines, and even the high end ECC ram I’ve put in those costs significantly less on a per mb basis than what’s going into the macs and cannot be upgraded if required.
The value proposition just isn’t there at the scale I’m hoping to play with. 64gb ram would be wonderful for a machine, but that’s pushing into high end mac territory which adds a couple of extra grand in local currency to the price tag vs an x86 build.
So your problem has nothing to do with ARM architecture or macOS itself, but on a lack of RAM.
Docker uses a lot of RAM on every platform, not only on macOS.
Looks like your company made a bad decision when choosing its hardware.
We use 16Gb M2 Pro to run docker instances running a copy of our infrastructure (ELK, CH, MariaDB, some maintenance batches, video encoding etc) with zero issue.
Docker most certainly does not use as much memory on Linux. Maybe on Windows, but not on Linux. It’s not an issue with the amount of RAM. I had the same amount of memory on my previous Linux machine and it never even started swapping, whereas the new Macs start swapping soon as my usual dev environment with all the containers and the software and whathaveyous is up. Fortunately the system handles it pretty well, so it’s not very noticeable.
I mean one of the main selling points of Docker is that it’s not supposed to use a lot of memory to begin with because it’s not a full-on VM. Otherwise I’d never been able to run it on all my puny first gen Raspberry Pis and tiny LXCs. But of course this applies to Linux mostly, because it’s designed to share the Linux kernel. Hence the need to expend extra memory and CPU for compatibility on Windows and Macos.
Do agree on the bad hardware decision bit though. Ours are 16GB M2 Pros too. The boss, who’s not the most tech-savvy person on the planet, chose those because that’s what he uses. One day we found out that we were getting new laptops and that they would be M2 Pros, and that was it. If I was in charge of the purchase, I would deck everyone out with high-end x64 laptops that have a usable number of IO ports. Would have been significantly cheaper too. Everyone is just alt-tabbing between their IDEs and terminals anyway, so they’d hardly miss the “macos experience”.
Docker for Mac has to run Linux in a virtual machine because macOS doesn’t natively support the containerisation APIs. That’s why it takes more memory and runs a bit slower than it does when running natively on a Linux machine.
I want to go to Mac, but the cost of additional ram is horrendous, and it’s directly baked in to the soc. Through work I have a few very high end machines, and even the high end ECC ram I’ve put in those costs significantly less on a per mb basis than what’s going into the macs and cannot be upgraded if required.
The value proposition just isn’t there at the scale I’m hoping to play with. 64gb ram would be wonderful for a machine, but that’s pushing into high end mac territory which adds a couple of extra grand in local currency to the price tag vs an x86 build.