This document discusses Docker containers and how they compare to virtual machines and configuration management tools like Puppet. It provides an overview of Docker, including how to build Docker images using Dockerfiles. It then compares Dockerfiles to shell scripts and configuration management, noting advantages and disadvantages of each. The document suggests using Puppet to install Docker and build Docker images, but not running Puppet inside containers. It provides examples of building Docker images that use Puppet for configuration.