docker-registry使用笔记

在国内docker-hub是确定用不了的,不解释:sweat:。git

因此最好仍是建一个私有的docker-registry,存储一些经常使用的images方便随时pull。github

相关连接

github:https://github.com/dotcloud/docker-registry

api:http://docs.docker.com/reference/api/registry_api/

安装docker-registry

官方直接给出了一个建立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-registrydom

push到私有docker-registry

首先解释一下docker中镜像的命名规则,如:registry.domain.com/mycom/base:latest,这是一个完整的image名称,下面说下各部分的做用spa

  1. registry.domain.com: image所在服务器地,若是是官方的hub部分忽略
  2. mycom:namespace,被称为命名空间,或者说成是你镜像的一个分类
  3. base:这个是镜像的具体名字
  4. latest:这是此image的版本号,固然也多是其它的,如1.1之类的

而后是如何push到私有docker-registry,直接上命令:code

docker tag b750fe79269d 127.0.0.1:5000/mycom/baseserver

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变了之后也不影响使用。

私有docker-registry的使用

其实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:。

相关文章
相关标签/搜索