Skip to content

Instantly share code, notes, and snippets.

@aweiteka
Created August 12, 2014 21:34
Show Gist options
  • Save aweiteka/a2d0c54dc0a5088f14d5 to your computer and use it in GitHub Desktop.
Save aweiteka/a2d0c54dc0a5088f14d5 to your computer and use it in GitHub Desktop.
Using pulp as docker registry demo script

How to use pulp as a docker registry

In this screencast I demonstrate using Pulp as a Docker registry. Pulp is a repository management platform that now supports Docker images via a plugin. Pulp provides several enterprise-oriented features that are not a part of the docker-registry such as separate administrative interface, role-based access control, syncing content across and organization and event-based notification to support continuous integration workflows.

You need to have access to a pulp server to complete this demonstration yourself. See my other screencast for installing the pulp server.

Documentation

This screencast will be following the quickstart guide found on pulpproject.org. http://wwww.pulpproject.org https://github.com/aweiteka/pulp/blob/docker_quickstart/docs/sphinx/user-guide/docker-quickstart.rst

Pulp provides a remote admin client. This may be installed as an RPM but for this demonstration we run the pulp-admin client as a container. A prototype pulp-publish-docker utility is built on top of the pulp-admin container. This provides a streamlined workflow for docker-specific commands.

Client installation

  1. We'll be running the client from my Fedora20 laptop. Any Red Hat-based distribution such as fedora or centos should also work. It has not been tested on debian-based distros.

     cat /etc/redhat-release
    
  2. Ensure docker daemon is running

     sudo systemctl status docker
    
  3. We've provided a simple install script to pull down the images and setup some aliases for running the containers.

     curl -O https://raw.githubusercontent.com/aweiteka/pulp-dockerfiles/master/centos/install_client.sh
    
  4. Before running the install script we'll need the pulp server's hostname.

     hostname
    
  5. The pulp server hostname is the first argument to the install script

     bash install_client.sh 
    
  6. The installer pulls down 2 named images from the docker hub. This takes a while but only needs to be performed once. I have already downloaded the images to speed up the screencast. With the install script complete we can view the images.

     sudo docker images
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment