The Dockerfile for this image is available in the Puppet-in-Docker repository.
You can run a copy of Puppet Server with the following Docker command.
docker run --name puppet --hostname puppet puppet/puppetserver
Although it is not strictly necessary to name the container
puppet, this is useful when working with the other Puppet images, as they will look for a master on that hostname by default.
If you would like to start the Puppet Server with your own Puppet code, you can mount your own directory at
docker run --name puppet --hostname puppet -v ./code:/etc/puppetlabs/code/ puppet/puppetserver
Note that this container will send reports to a PuppetDB instance on on
https://puppetdb. Puppet runs will not fail by default if PuppetDB cannot be reached. If you are not using PuppetDB, then the
puppet/puppetserver-standalone container may be a better choice.
You can find out more about Puppet Server in the official documentation.
See the examples repository for fully worked examples, including how to run a full Puppet stack using Docker Compose.