At work we use Sphinx to create html based documentation for some of our applications. Setting up a new machine to build the documentation requires installing Chocolatey, Python, Sphinx, the Read the Docs Theme, and Node. While not too complex small differences in individual machines can result in broken builds.
I’m already familiar with creating virtual machines to create isolated development environments – Packer and Vagrant are your friends – but a virtual machine just for generating help documentation seems like a pretty heavy handed solution.
I’ve read that Docker is used to create small, repeatable, environments (containers) for developing and running applications but I had zero hands on experience with Docker and I wanted to learn more. This describes my how I used Docker to create a development environment suitable for building documentation with Sphinx.