参考网站:
https://blog.youkuaiyun.com/wu_di_xiao_wei/article/details/54755475
https://blog.youkuaiyun.com/tototuzuoquan/article/details/82025954
环境:centos7
IP地址:192.168.0.188
准备:
1、下载registry镜像
docker pull registry
2、启动registry容器
docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry
可以看到我们启动了一个容器,地址为:192.168.0.188:5000
实验:
1、拉取一个镜像
docker pull busybox
2、修改一下该镜像的tag,镜像的格式为 镜像仓库IP:端口/镜像名称(必须做这一步,否则不成功,因为tag里面带着镜像服务器的信息)
docker tag busybox 192.168.0.188:5000/busybox
3、把打了tag的镜像上传到私有仓库
docker push 10.211.55.30:5000/busybox
如有报错,执行如下步骤:
修改/usr/lib/systemd/system/docker.service
vim /usr/lib/systemd/system/docker.service
4、重启docker
systemctl restart docker
5、重启完之后我们再次运行推送命令,把本地镜像推送到私有服务器上
docker push 192.168.0.188:5000/busybox
此时应该已经成功
使用:
1、镜像存放位置
[root@Study01 repositories]# ls
busybox ubuntu
[root@Study01 repositories]# pwd
/opt/data/registry/docker/registry/v2/repositories
2、关于本地镜像的查看
[root@Study01 repositories]# curl http://192.168.0.188:5000/v2/_catalog
{“repositories”:[“busybox”,“ubuntu”]}
3、看到有两个镜像,我们要获取他的标签信息以便下载
[root@Study01 repositories]# curl http://192.168.0.188:5000/v2/ubuntu/tags/list
{“name”:“ubuntu”,“tags”:[“latest”]}
4、然后直接下载
[root@Study01 repositories]# docker pull 192.168.0.188:5000/ubuntu
Using default tag: latest
latest: Pulling from ubuntu
Digest: sha256:cef0c2cde57a973ed80513a7d3614bc654d9d6becad2c068c9328b41bb3f6713
Status: Downloaded newer image for 192.168.0.188:5000/ubuntu:latest
[root@Study01 repositories]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry latest 33fbbf4a24e5 9 days ago 24.2MB
busybox latest 3a093384ac30 12 days ago 1.2MB
192.168.0.188:5000/ubuntu latest 1d9c17228a9e 2 weeks ago 86.7MB
ubuntu latest 1d9c17228a9e 2 weeks ago 86.7MB
centos latest 1e1148e4cc2c 5 weeks ago 202MB
默认不支持删除镜像仓库中的镜像