Using Docker for Windows to Create a Sphinx Documentation Build Environment

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.


Setting Up Git and SSH in PowerShell with posh-git

I like to use Git with SSH in PowerShell. However, I set this stack up so infrequently that when I do set it up I invariably miss some detail that makes the process harder than I would like. To help future me here’s how I installed and configured Git and SSH in PowerShell with posh-git.