A simple puppetserver to get started
This is mostly taken from puppet/puppetserver-standalone.
I changed the base image from Ubuntu to Phusion and enabled ssh access.
I wanted to be able to connect to the puppetmaster and run
'''puppet module install''' commands.
Make the persistent directories
mkdir -p /srv/puppet/code mkdir /srv/puppet/ssl mkdir /srv/puppet/server
Here is a sample command using all the options.
docker run -d --restart=always -p 8140:8140 \ -v /srv/puppet/code:/etc/puppetlabs/code \ -v /srv/puppet/ssl:/etc/puppetlabs/puppet/ssl \ -v /srv/puppet/server:/opt/puppetlabs/server/data/puppetserver \ -v /home/cosmicq/.ssh:/root/.ssh \ --name puppet \ --hostname puppetmaster.cosmicegg.net \ cosmicq/docker-puppetserver
Make sure you have run ssh-keygen and have an authorized_keys files in your home directory
(accept the defaults)
cd ~/.ssh cat id_dsa.pub > authorized_keys
Ssh in and manage your server
You might find it best to mount an NFS volume (or other shared storage) under /srv/puppet. This allows you to move your puppet container to other servers and persist data.
Puppet is expecting to find the modules in:
This is where the client/server SSL certs are. You probably want to back this up.
Peristant server data. This is mounted so your puppet server can be rebooted and pick up where it left off.