3 ms·
The real problem is that docker swarm is nowhere close to being production ready and it's full of gotchas and design decisions that make little sense as an end
by jokethrowaway 5y ago
The real problem is that docker swarm is nowhere close to being production ready and it's full of gotchas and design decisions that make little sense as an end user.
They simply couldn't make a product good enough for the enterprise, like k8s did. I have similar reservations towards docker; sure it was a mostly novel concept (I saw live when Solomon announced docker and relatively few people knew at the time about Linux native containers or about bsd jails) but it so full of quirks and gotchas and bad APIs that it's not smooth sailing.
Unfortunately they couldn't make docker into a product (or they would have faced the wrath of the OSS community) so they probably felt stripped for time on both docker and on swarm, which made for an unpolished experience.
I've been using swarm for a small project for funz and because I didn't want to run the full k8s (even k0s or k3s would have been heavy for my use case) and because I had bad experiences with nomad.
My list of complaints:
- Stacks are not working 1-1 with Compose
- docker machine is a separate binary
- You can't pull the latest of a docker image or the cache hit will just fail to redeploy your changes (you're forced to do a sort of blue-green deployment or just update a tag everytime)
- You have to configure, run, garbage collect a registry from scratch
- docker-flow-proxy should be included out of the box
- I need a way to integrate secrets
Don't get me wrong, there's an amazing amount of progress in docker swarm (and I'm running it in production, for free, on a 5$ machine). Years ago it was even worse but it's not something I would ever recommend to my employer.
I hope we'll get there eventually.