I’ve been a Docker and Docker Compose user for a couple of years, and although there is more fiddle getting apps working initally, this technology really does make for a nice guaranteed runtime environment and smooth, automated deployment experience.
I wanted to build on this knowledge, so I built a little Docker web app (that does very little bar showing some version information) and then worked out how to launch it on a Swarm cluster. By virtue of Swarm’s architecture, you can scale up the number of containers that back a service, and then do a rolling update. The networking system will route incoming requests around any containers that are in a middle of an update, ensuring you get zero downtime.
What’s nice is that Swarm will run on a single node too, so you don’t need expensive infra to use it.
If anyone wants to have a play, here it is. Ping me if you need a hand!