Skip to content

Container Registries

  • An image registry needs to be part of your container plan
  • More Docker Hub details including auto-build
  • How Docker Store (store.docker.com) is different than Hub
  • How Docker Cloud (cloud.docker.com) is different than Hub
  • Use new Swarms feature in CLoud to connect to Mac/Win Swarm
  • Install and use Docker Registry as private image store
  • 3rd party registry options

Docker Registry

  • A private image registry for your network
  • Part of the docker/distribution GitHub repo
  • The de facto in private container registries
  • Not as full featured as Hub or others, no web UI, basic auth only
  • At its core: a web API and storage system written in Go
  • Storage supports local, S3/Azure/Alibaba/Google Cloud and OpenStack Swift
  • Secure your Registry with TLS
  • Storage cleanup via Garbage Collection
  • Enable Hub caching via "--registry-mirror"

Private Registry

  • Run the registry image on defalt port 5000
  • Re-tag an existing image and push it to your new registry
  • Remove that image from local cache and pull it from new registry
  • Re-create registry using bind mount and see how it stores data
docker container run -d -p 5000:5000 --name registry registry
docker pull hello-world
docker run hello-world
docker tag hello-world 127.0.0.1:5000/hello-world
docker push 127.0.0.1:5000/hello-world
docker container rm hello-world
docker image remove hello-world
docker pull 127.0.0.1:5000/hello-world
docker container kill registry
docker container rm registry
docker container run -d -p 5000:5000 --name registry -v $(pwd)/registry-data:/var/lib/registry registry
docker push 127.0.0.1:5000/hello-world
ls /registry-data

Registry and Proper TLS

  • Secure by default: docker wont talk to registry without HTTPS
  • Except localhost
  • For remote self-signed TLS, enable "insecure-registry" in engine

Using Registry with Swarm

  • Works the same way as localhost
  • Because of Routing Mesh, all nodes can see 127.0.0.1:5000
  • Remember to decide how to store images (volume driver)
  • Note: all nodes must be able to access images
  • ProTip: use hosted SaaS registry if possible