在国内docker-hub是确定用不了的,不解释:sweat:。git
因此最好仍是建一个私有的docker-registry,存储一些经常使用的images方便随时pull。github
官方直接给出了一个建立container的命令,在装有docker的机器上运行docker run -d -p 5000:5000 registry
,
这个貌似要下载不少东西,大概500M左右,免去了手工安装的过程,很方便。docker
安装安成以后直接访问 http://ip:5000
就能够看到api
“docker-registry server (dev) (v0.7.3)”服务器
说明安装成功了,更多安装细节,或者配置请参考https://github.com/dotcloud/docker-registry。dom
首先解释一下docker中镜像的命名规则,如:registry.domain.com/mycom/base:latest
,这是一个完整的image名称,下面说下各部分的做用spa
而后是如何push到私有docker-registry,直接上命令:code
docker tag b750fe79269d 127.0.0.1:5000/mycom/base
server
b750fe79269d
是现有image一个id,你能够从docker hub中pull,或者本身构建image。后面的部分参考上面解释。
这一步的工做主要是给image指定一个服务器地址,让docker知道往哪里push。
而后就是push,命令:ip
docker push 127.0.0.1:5000/mycom/base
而后等待docker push完成就能够从私有docker-registry中pull或者run了,如:
docker run 127.0.0.1:5000/mycom/base
这里直接使用本机ip,正式使用最好指定一个二级域名,这样ip变了之后也不影响使用。
其实http://docs.docker.com/reference/api/registry_api/这里有docker-registry的api,
只是没有如何获取全部image列表的方法,后来查了下,可经过http://127.0.0.1:5000/v1/search查出
若是须要的话创建一个页面,可供查询全部可用的image,同事们就能够随时从你的docker-registry中pull他想要的image,这个速度固然是不言而喻的了,更重要的是不用担忧会失败:+1:。