registry私有仓库实现本地免密仓库
1.下载registry.tar并导入
[root@server1 ~]# docker load -i registry.tar
在/opt目录下创建目录registry,用于存放registry私有仓库的镜像数据
[root@server1 ~]# cd /opt/
[root@server1 opt]# mkdir registry
查看导入的registry镜像
2、建立本地仓库服务,设定仓库对外的端口是5000(开启容器)
[root@server1 ~]# docker run -d --name registry -p 5000:5000 -v /opt/registry/:/var/lib/registry registry:2.3.1 # 通过-v参数来将镜像文件存放在本地的指定路径上
[root@server1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
109cab99f831 registry:2.3.1 "/bin/registry /etc/…" 47 seconds ago Up 45 seconds 0.0.0.0:5000->5000/tcp registry
3、上传localhost:5000/rhel7:nginx4(要上传的镜像随便选,但是/前面必须是本地localhost或localhost:5000))
[root@server1 ~]# docker tag rhel7:nginx4 localhost:5000/rhel7:nginx4 #修改镜像的tag(要求镜像名为username/xxx:tag)
[root@server1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost:5000/rhel7 nginx4 50b384766482 2 hours ago
[root@server1 ~]# docker push localhost:5000/rhel7:nginx4 #将本地镜像推送到私有仓库
The push refers to repository [localhost:5000/rhel7]
9fd85e6ca660: Pushed #看到Pushed表示上传成功
668afdbd4462: Pushed
nginx4: digest: sha256:96f12a4c433231a0c36d20af593dba0c135fed0aa2d3c180c2c00ac2a9cd5867 size: 739
4、测试:下载localhost:5000/rhel7:nignx4
获取registry仓库类的镜像:
[root@server1 docker]# curl http://172.25.83.1:5000/v2/_catalog #或curl http://localhost:5000/v2/_catalog
{"repositories":["rhel7"]}
获取某个镜像的标签列表:
[root@server1 registry]# curl http://172.25.83.1:5000/v2/rhel7/tags/list #或curl http://localhost:5000/v2/rhel7/tags/list
{"name":"rhel7","tags":["nginx4"]}
[root@server1 registry]# docker rmi localhost:5000/rhel7:nginx4 #删除本地镜像
[root@server1 registry]# docker rmi rhel7:nginx4
[root@server1 registry]# docker pull localhost:5000/rhel7:nginx4 #从私有仓库下载该镜像
nginx4: Pulling from rhel7
269521def953: Already exists
ff969636d6bb: Pull complete #看到Pull complete表示成功
Digest: sha256:96f12a4c433231a0c36d20af593dba0c135fed0aa2d3c180c2c00ac2a9cd5867
Status: Downloaded newer image for localhost:5000/rhel7:nginx4
#改名
[root@server1 registry]# docker tag localhost:5000/rhel7:nginx4 rhel7:nginx4
[root@server1 registry]# docker rmi localhost:5000/rhel7:nginx4