1 为什么需要Docker Registry?
当创建一个Docker镜像时,比如Redis server, Hipache daemon,希望有个安全的地方可以保存它们。特别是你的代码是私有的,不想推送镜像到公共registry。Docker Inc.为此开发了docker-registry项目。这个项目运行大家推送自己的镜像到内部registry。
2 Docker Registry概念
Docker Registry。它是所有仓库(包括共有和私有)以及工作流的中央Registry。Repositories(仓库)可以被标记为喜欢或者像书签一样标记起来。Docker Registry有三个角色,分别是index、registry和registry client:
2.1 角色 1 -- Index :index 负责并维护有关用户帐户、镜像的校验以及公共命名空间的信息。
2.2 角色 2 --Registry:registry是镜像和图表的仓库,由S3、云文件和本地文件系统提供数据库支持。通过Index Auth service的Token方式进行身份认证。
2.3 角色 3 --Registry Client:Docker充当registry客户端来负责维护推送和拉取的任务,以及客户端的授权。
3 本地测试Docker Registry
$ docker pull samalba/docker-registry
$ docker run -d -p 5000:5000 samalba/docker-registry
$ # let's pull a sample image (or make one ourselves)
$ docker pull busybox
$ docker tag busybox localhost:5000/busybox
$ docker push localhost:5000/busybox
查看结果,发现多了个localhost:5000/busybox的仓库:
4 参考:
Docker入门教程(四)Docker Registry - DockOne.io
http://dockone.io/article/104
Deploying your own Private Docker Registry | ActiveState
http://www.activestate.com/blog/2014/01/deploying-your-own-private-docker-registry