原文出自:http://blog.csdn.net/anxpp/article/details/52483957
仓库是集中存放镜像的地方。
首先说下注册服务器,注册服务器实际上是存放仓库的具体服务器,每个服务器通常会有多个仓库,而每个仓库下又有多个镜像。
比如仓库地址:dl.dockerpool.com/ubuntu,dl.dockerpool.com是注册服务器,ubuntu是仓库名。
其中仓库分共有仓库和私有仓库。
1、Docker Hub
Docker官方维护了一个公共仓库:htpps://hub.docker.com,其中包括了非常多的镜像,可以满足很多方面的需求了,我们可以直接从里面下载镜像。
登陆
可以使用docker login进行注册或者登陆。
注册成功后本地用户目录的.dockercfg中将保存用户的认证信息。
基本操作
如果我们需要搜索指定的镜像,可以通过docker search命令,并使用docker pull下载镜像到本地。
在介绍镜像的文章中已经介绍了具体的搜索方式,此处不再赘述。
一般的,可以将这些镜像分为2类,一类是基础镜像,一般由docker公司维护,镜像的名字通常为单个单词;还有一种是由其他用户上传的镜像,名字前一般会带有前缀,表示某一用户的某个仓库。
额外的,查找时通过-s N参数可以指定评价为N星以上的镜像。
用户也可以通过docker push命令将本地镜像上传到仓库中。
自动创建
何为自动创建?有时候用户创建了镜像,并安装了某个软件,如果软件发布新的版本,则需要手动更新镜像,而自动创建就使得需要经常升级镜像内程序变得十分方便。
自动创建功能可以是用户通过docker hub指定一个目标网站(github或者bitbucket)上的项目,一旦发现项目有新的提交,就自动执行创建。
二配置自动创建的不走如下:
- 创建并登陆docker hub,以及目标网站。在目标网站中链接账户到docker hub。
- 在docker hub中配置一个自动创建
- 先去一个目标网站中的项目(需要包含Dockerfile)和分支。
- 指定Dockerfile的位置并提交创建
之后可以在docker hub中的“自动创建”页面中跟踪每次创建的状态。
2、Docker Pool
天朝的墙,高又高,强大的Docker Hub我们可能时常上不去或者不稳定(此处推荐同学们科学上网),国内专业的Docker技
术社区Docker Pool也提供了官方镜像的下载管理服务(http://dockerpool.com)。
从这里下载的镜像与官方的是完全一样的,不过下载的时候需要指定地址,如:
docker pull dl.dockerpool.com:5000/ubuntu:12.04
这时标签为docker pull dl.dockerpool.com:5000/ubuntu,可以使用docker tag修改标签:
docker tag dl.dockerpool.com:5000/ubuntu:12.04 ubuntu:12.04
3、私有仓库
3.1、创建私有仓库
安装docker后,可以使用官方提供的registry镜像简单的搭建一套本地私有仓库环境:docker run -d -p 5000:5000 registry
然后会自动下载并启动一个registry容器,创建本地的私有仓库服务。
默认情况下仓库创建在容器的/tmp/registry目录下。
可以通过参数-v指定镜像文件存储到本机的路径上:
docker run -d -p 5000:5000 -v /var/docker/registry:/tmp/registry registry
此时本地启动的私有仓库监听5000端口。
3.2、管理
操作就是跟Docker Hub的是一样的......可以通过curl查看仓库中的镜像:
curl http://127.0.0.1:5000/v1/search
镜像的上传下载也比较简单。
小结
docker仓库为镜像的分发和管理变得非常简单,我们也可以到公共仓库中下载需要的镜像。