> CentOS > CentOS教程 >

Centos7安装Docker-registry2.0

我们可能希望构建和存储包含不想公开的信息或数据的镜像,因为Docker公司的团队开源了docker-registry的代码,这样我们就可以基于此代码在内部运行自己的registry。

 

服务端

1.拉去仓库镜像                 

 
[root@slave5 ~]# docker pull registry:2.1.1

2.查看容器                     

[root@slave5 ~]# docker ps
CONTAINER ID      IMAGE                   COMMAND              CREATED       STATUS                    PORTS                  NAMES
38802006b373  docker.io/registry:2.1.1  "/bin/registry /etc/   24 hours ago  Up 5 minutes  0.0.0.0:5000->5000/tcp   registry

3.启动容器                     

[root@slave5 ~]# docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:2.1.1
 
重要:默认情况下,会将仓库存放于容器的/var/lib/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录挂载到容器的/opt/registry下, 两个目录下都有!
·registry的默认存储路径是/tmp/registry,只是个临时目录,一段时间之后就会消失
·所以使用-v参数,指定个本地持久的路径。

4.访问http://ip:5000端口,出现如下界面,则代表仓库安装成功

客户端

  1. 拉取镜像

 
[root@slave5 ~]# docker  pull  busybox

2.为镜像打标签 

[root@slave5 ~]# docker tag docker.io/busybox 192.168.0.38:5000/busybox
[root@slave5 ~]# docker images
REPOSITORY                             TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
docker.io/busybox            latest              0064fda8c45d        5 days ago          1.113 MB
<none>                                 <none>              42316db2cd8d        12 days ago         187.9 MB
docker.io/registry                     latest              a8706c2bfd21        2 weeks ago         422.8 MB
docker.io/ubuntu                       14.04               d55e68e6cc9c        2 weeks ago         187.9 MB

 

3.编辑docker配置文件,指定私有仓库url

 

[root@slave5 ~]# vim /etc/sysconfig/docker

 OPTIONS='--insecure-registry 192.168.0.38:5000 '

[root@slave ~]# service docker restart

 

4.上传镜像到仓库

  docker push 192.168.0.38:5000/busybox

 

 

5.查看私有仓库  

[root@slave ~]# curl 192.168.0.38:5000/v1/search

{"num_results": 1, "query": "", "results": [{"description": "", "name": "library/busybox"}]}


 

 
(责任编辑:IT)