I’m not a Mac guy so I can’t comment on the hardware side of things but I can comment on the Docker side of things.
Docker runs in a VM on Mac, and in a VM or WSL on Windows. On Windows the experience is awful, doesn’t matter if its WSL or VM. On Mac the experience is okish but there are enough differences that it makes Docker less effective as a platform.
The whole selling point of Docker is reproducibility, on Mac and Windows there are issues that do not occur on the platform that all the servers we deploy to run. I constantly have to help my coworkers with issues on Mac and Windows that simply do not exist on native Docker on Linux. It has gotten so bad that I simply refuse any help for anyone running Docker on Windows. I try my best on Mac but if I can’t solve it quickly or reproduce it on a Linux machine I dismiss it.
The devil is in the detail, minor differences are enough to throw off a system that is made to be run in a container and expects identical environments between instances.
There are 200 open issues for docker compose, nearly 600 for docker cli.
The number of open issues means nothing without context.
Again, I’d love to hear about actual peculiarities you run into because as of yet in the last 5 years I’ve developed on a MBP (work provided, I previously “hated” Apple) I haven’t had these issues you’re claiming are all over.
The number of open issues means nothing without context.
The context is that the issues for docker compose and docker CLI are almost identical across Linux hosts and can be worked around, there are 426 additional issues just for Mac one has to watch out for.
Our main issues on Mac (that I can remember):
Severe slowdowns causing healthchecks to fail (Mostly caused by slow network requests and writing/reading thousands of smaller files)
Environment variables not being applied correctly to build containers
docker-compose file differences, e.g. newer versions not available or older versions deprecated earlier
Under high load the VM chokes even though there are plenty of resources available
I never was able to set permanent sysctl configs needed for some of our applications.
On ARM: Building some of our x86 containers is seriously slow and eats a lot of RAM
On ARM: Running x86 containers is much slower, sometimes hangs and sometimes even crashes the VM
I have been a Linux admin for the better part of two decades now. I’m not saying that Mac is better, I’m just saying that in the real world I don’t run into any of those issues.
I didn’t purchase my Mac, it is work provided. My infrastructure is a mixture of x86 and arm but it’s all Linux.
I’ve ran into exactly 0 issues using the work issued Mac to interact with my infrastructure or develop containers or any of the supporting software for our operations.
I’ve used an intel MBP and an apple silicon MBP as well as developing on a handful of other platforms running other Linux platforms per contract requirements. There are peculiarities between any operating system but what they’re saying straight up isn’t true.
Issue numbers out of context is a stupid metric, their explanation for that metric is even dumber.
They legitimately said “peripheral issues” then when pressed backed off because “they’re not a Mac user”.
Then saying x86 containers run slower when on a different instruction set than native is somehow another indicator …
When I realized I wasn’t talking with someone who actually had real information I said what I said.
My bias is simply that repeating a narrative you’re not actually aware of is stupid. All of the things that person said aren’t actually the problem they say they are, so I certainly hope it is showing.
I’m not a Mac guy so I can’t comment on the hardware side of things but I can comment on the Docker side of things.
Docker runs in a VM on Mac, and in a VM or WSL on Windows. On Windows the experience is awful, doesn’t matter if its WSL or VM. On Mac the experience is okish but there are enough differences that it makes Docker less effective as a platform.
The whole selling point of Docker is reproducibility, on Mac and Windows there are issues that do not occur on the platform that all the servers we deploy to run. I constantly have to help my coworkers with issues on Mac and Windows that simply do not exist on native Docker on Linux. It has gotten so bad that I simply refuse any help for anyone running Docker on Windows. I try my best on Mac but if I can’t solve it quickly or reproduce it on a Linux machine I dismiss it.
The devil is in the detail, minor differences are enough to throw off a system that is made to be run in a container and expects identical environments between instances.
There’s enough issues with Docker for Mac that they have separate tabs on the Docker known issues page: https://docs.docker.com/desktop/troubleshoot/known-issues/
There’s also 426 open issues just for the Mac port of Docker: https://github.com/docker/for-mac/issues
Huh, I mean you’re saying a lot but still.
There are 200 open issues for docker compose, nearly 600 for docker cli.
The number of open issues means nothing without context.
Again, I’d love to hear about actual peculiarities you run into because as of yet in the last 5 years I’ve developed on a MBP (work provided, I previously “hated” Apple) I haven’t had these issues you’re claiming are all over.
The context is that the issues for docker compose and docker CLI are almost identical across Linux hosts and can be worked around, there are 426 additional issues just for Mac one has to watch out for.
Our main issues on Mac (that I can remember):
You’ve said enough at this point for me to recognize it’s your bias speaking.
Lol, as if yours isn’t.
I have been a Linux admin for the better part of two decades now. I’m not saying that Mac is better, I’m just saying that in the real world I don’t run into any of those issues.
I didn’t purchase my Mac, it is work provided. My infrastructure is a mixture of x86 and arm but it’s all Linux.
I’ve ran into exactly 0 issues using the work issued Mac to interact with my infrastructure or develop containers or any of the supporting software for our operations.
I’ve used an intel MBP and an apple silicon MBP as well as developing on a handful of other platforms running other Linux platforms per contract requirements. There are peculiarities between any operating system but what they’re saying straight up isn’t true.
Issue numbers out of context is a stupid metric, their explanation for that metric is even dumber.
They legitimately said “peripheral issues” then when pressed backed off because “they’re not a Mac user”.
Then saying x86 containers run slower when on a different instruction set than native is somehow another indicator …
When I realized I wasn’t talking with someone who actually had real information I said what I said.
My bias is simply that repeating a narrative you’re not actually aware of is stupid. All of the things that person said aren’t actually the problem they say they are, so I certainly hope it is showing.