The Dockerfile for this image is available in the Puppet-in-Docker repository.
puppet/puppetdb-postgres image is based on the official
postgres image, and simply adds users, extensions and tables required by PuppetDB.
Running the container can be done in the same way as the official PostgreSQL container, taking environment variables to setup the password.
docker run -d --name postgres -e POSTGRES_PASSWORD=puppetdb -e POSTGRES_USER=puppetdb puppet/puppetdb-postgres
See the examples repository for fully worked examples, including how to run a full Puppet stack using Docker Compose.