Puppet Container Registry
Puppet Container Registry is a Docker container registry, and is available at puppet/puppet-container-registry-enterprise.
To get started with container registry,
1. Download Puppet Container Registry Enterprise Edition with a docker pull command
2. Download a trial license by signing up at licenses.puppet.com, clicking “Get License”, and clicking “Trial License” for Container Registry. Download the license file and enter it when prompted.
Docker image storage in puppet container registry,
Puppet Container Registry can store local repository Docker images either in AWS S3 or on a filesystem.If using a filesystem, and you want to keep your Docker images between Puppet Container Registry container runs, you must use a mounted volume to persist the data. Make sure this volume (directory) exists before starting the container and ensure you start the container with the -v option.
To start the Puppet Container Registry container, you must tell it where to store persistent data. Puppet Container Registry works with AWS DynamoDB and MySQL 5.7.23. If you’re trying Puppet Container Registry for the first time, use MySQL - it’s easier to get started and clean up afterward.
On first run, Puppet Container Registry will create any necessary tables and indexes.
Use docker run to start the Puppet Container Registry container, using the flags below as appropriate
docker run --rm -d -p 3306:3306 --name=mysql -e MYSQL_DATABASE=pcr -e MYSQL_USER=pcr -e MYSQL_PASSWORD=password -e MYSQL_ROOT_PASSWORD=password mysql/mysql-server:5.7.23
Configure Puppet Container Registry
Navigate to http://localhost:8080 in a browser.
Select File System, then enter “.” (without no quotes) for Storage Root Directory. This is a valid configuration only for evaluation purposes - the data won’t be persisted after the Docker container exits. For persistence, mount a volume into the container and then set that path during configuration.
Create a root account
Enter Email and a password. The first account created is exclusively for container registry administration and cannot create repositories, so this should not be your user account.
Log in and enter a license
Click “Login” and enter the credentials for the root account you just created. You will be prompted to upload a license. Click Upload, select the license file you just downloaded from licenses.puppet.com, click Submit, and then accept the license after reviewing it.
No further configuration is immediately necessary, so log out by clicking the blue logout button in the upper right corner.
Create a user account
Click “Sign Up” and register a normal user you will use to evaluate Puppet Container Registry. Set Username to “testuser” to be consistent with the sample commands below. You will immediately be logged in as that user.
Create your first repository
1. Click “Create Token”, then click the copy link to the right of the login instructions
2. Paste that command into a terminal to log Docker in to Puppet Container Registry
3. Click “Create a Local Repository”, name it “hello-world”, and click create
Push a first container into the repository
docker pull hello-world
docker tag hello-world localhost:8080/testuser/hello-world
docker push localhost:8080/testuser/hello-world