Docker-搭建Docker Registry

私有Docker Registry的部署和配置

从Docker Hub上可以获取官方的Registry的镜像,Registry 默认的对外服务端口是 5000,如果我们宿主机上运行的 Registry 需要对外提供服务,可以通过映射端口的方式提供。

1 docker pull registry  //获取registry镜像文件
2 
3 docker images  //查看本地的registry镜像文件
4 REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
5 registry                latest              047218491f8c        4 days ago          33.17 MB
6 
7 docker run -d -p 5000:5000 --restart=always --name registry registry:latest  //运行一个registry的容器

验证

1 如果/var/lib/registry映射到宿主机器的目录(比如/opt/registry),可以push一个镜像到本地的registry,然后会在/opt/registry下找到镜像相关的内容

2 通过registry提供的API方式:

[root@ip-172~]# curl http://127.0.0.1:5000/v2/_catalog
{"repositories":["mongodb"]}
[root@ip-172~]# curl http://127.0.0.1:5000/v2/mongodb/tags/list
{"name":"mongodb","tags":["1.0"]}

 

使用Registry管理仓库和镜像

1、推送镜像

使用docker push可以将本地的镜像推送到本地的仓库

$ docker tag rhel-httpd registry-host:5000/myadmin/rhel-httpd

$ docker push registry-host:5000/myadmin/rhel-httpd

2、获取镜像

使用docker pull可以获取仓库中的镜像,比如

docker pull registry-host:5000/myadmin/rhel-httpd

 

Docker Registry的配置

Docker Registry的配置是基于一个YAML文件,所以可以在创建Registry容器的时候把已经编辑好的YAML文件拷贝进去,也可以在创建容器的时候通过命令传入配置项。

拷贝YAML文件的例子:

1 $ docker run -d -p 5000:5000 --restart=always --name registry \
2              -v `pwd`/config.yml:/etc/docker/registry/config.yml \
3              registry:2

 

详细的配置参考官方配置说明

 

posted @ 2017-03-08 16:54  LCdre  阅读(5203)  评论(0编辑  收藏  举报