I had difficulties with the stock puppetdb entrypoint script. I wound up changing it thusly:
#!/bin/bash if [ ! -d "/etc/puppetlabs/puppetdb/ssl" ]; then set -e /opt/puppetlabs/bin/puppet config set certname ${HOSTNAME} if [ ! -f "/etc/puppetlabs/puppet/ssl/certs/ca.pem" ]; then while ! nc -z puppet 8140; do sleep 1 done /opt/puppetlabs/bin/puppet agent --verbose --onetime --no-daemonize --waitforcert 120 fi /opt/puppetlabs/server/bin/puppetdb ssl-setup -f fi exec /opt/puppetlabs/server/bin/puppetdb "$@" And in case it helps, here's the docker-compose stanza for puppetdb: puppetdb: hostname: puppetdb # image: puppet/puppetdb:4.4.0 build: builds/puppetdb ports: - 8080 - 8081 volumes: - ./puppetdb/ssl:/etc/puppetlabs/puppet/ssl/ Note that I'm using a local build (I did the same for puppet itself, but that's because we have a number of local customizations) instead of an official image. And the Dockerfile I used to build puppetdb: FROM puppet/puppetdb:4.4.0 EXPOSE 8080 EXPOSE 8081 COPY docker-entrypoint.sh / VOLUME /etc/puppetlabs/puppet/ssl VOLUME /etc/puppetlabs/puppetdb ENTRYPOINT ["/docker-entrypoint.sh", "foreground"] So basically, I'm using the official image, but I'm overwriting the docker-entrypoint.sh with my own version. The important part is definitely the puppet config line to set the hostname to match the container. The filetest for ca.pem was something I put in to prevent a certain condition that may have been unique to my environment-- apparently it was possible to have a local certificate already, but not a (persistent) puppetdb ssl configuration. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/9f0bddd4-8a61-4fe6-aa74-2a11bc5bd0ae%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.