I was recently putting together an overview presentation for Docker to be given at an innovation talk for a large enterprise. While assembling my materials, I came to two realizations:
- I absolutely needed to cover Docker Machine, Swarm, and Compose
- Words and bullet points were not enough - demos were in order
But unfortunately the preso was going to be done from a different machine which I did not know if it had a shell, let alone decent internet for access to my Docker hosts.
Rather than creating a Youtube vid I decided to use Asciinema. Pretty cool!!! Easy to create and share terminal sessions and even easier to embed them. So, without further ado, here are a couple short demos on Machine, Swarm, and Compose.
Docker Machine. Machine allows you to launch Docker hosts on a local machine, Linux host, or in a number of virtualization and cloud providers. It also helps set the proper environment variables for your Docker client. Here is a short demo on setting up a Docker host using the virtualbox driver on a Mac.
Docker Swarm. Swarm is native clustering for Docker, which takes multiple Docker hosts and ties them together into a single virtual host. It serves the standard Docker API, therefore, any tool which can communciate with the Docker daemon can use Swarm transparently.
Docker Compose. Simply put, with one file (docker-compose.yml) and one command (docker-compose up), you can stand up stack of containers, linking them together.
Hope this short overview helps you understand what these tools can do. They are still in beta, so there is functionality that has not yet been implemented (like cross-host container linking in Swarm). Definitely keep an eye on the git repos, I’m sure that some of that missing tech will be forthcoming sooner than later.