Docker Desktop was fine until they decided companies with more than 250 employees needed to pay $15/month per seat. Cool, whatever. But then version 4.21.1 dropped and broke my entire fucking setup.
Docker Desktop was eating 5-7GB on my M1 MacBook. Just sitting there, doing nothing. I'd close all my containers and it would still be hogging memory like Chrome with 30 tabs open. Activity Monitor showed com.docker.hyperkit
using 4GB just to exist.
The file sync was dogshit. I'd change a React component, hit save, then wait 10-15 seconds for hot reload. Might as well grab coffee. Made development feel like I was coding on a potato from 2015.
VPN issues every damn day. Connect to the work VPN and suddenly containers can't reach each other. ECONNREFUSED
everywhere. Docker's solution? "Have you tried turning Docker Desktop off and on again?" Yeah, super helpful for a $180/year tool.
The worst was when 4.19.0 reset all my volume mounts without warning. Spent three hours debugging why my database wasn't persisting data. Turns out some FUSE setting got nuked and Docker's release notes just said "improved stability." Fuck you, improved stability.
What Actually Works Now
Switched to Podman Desktop in March after that Docker Desktop fuckup. Tried a few others too:
No licensing horseshit. Podman and Colima are completely free. OrbStack costs $8/month but that's still way cheaper than Docker's corporate cash grab.
My laptop runs cool now. Podman uses maybe 2-3GB when I've got containers running, practically nothing when idle. Colima is even lighter. My M1's fans actually turn off now - forgot that was possible.
Podman doesn't run some daemon as root all the time. Containers run as me, not as some privileged system process. Security team stopped bitching about it, so I guess that's good.
Boot time went from "go get coffee" to "already running." Podman starts in like 3 seconds instead of Docker Desktop's 30-second freeze-your-entire-system routine.
The Migration Wasn't Hell
Took me a Saturday afternoon to migrate our stack. Most shit just works, but you'll hit a few gotchas:
Our Redis container couldn't talk to the Node app anymore. Kept getting ECONNREFUSED 127.0.0.1:6379
until I figured out Podman doesn't create default networks the same way. Had to add this to docker-compose.yml:
networks:
app-network:
driver: bridge
And put both containers on the same network. Docker Desktop was doing this magic automatically.
Volume mounts got fucked up on Colima. Our bind mount paths were wrong because Colima's VM maps /Users
differently. Changed /Users/me/code
to /Users/me/code
and... wait, that's the same. Whatever, I fixed it somehow.
Had to podman login registry.company.com
because credentials don't transfer. Obvious in hindsight but annoying when you're wondering why pulls are failing.
Made the mistake of letting half the team switch while others stayed on Docker Desktop. Spent two weeks debugging "works on my Podman but not your Docker" bullshit. Pick one tool and make everyone use it.
The docker
command works exactly the same. These tools alias themselves so your scripts don't break. Build scripts, deployment stuff, whatever - it all works.