部署私有仓库
1拉取docker-registry镜像
docker pull registry
2运行registry容器
默认情况下,仓库会被创建在容器的/var/lib/registry目录下。可以通过-v参数来将镜像文件存放在本地的指定路径
docker run --name registry -d -p 5000:5000 --restart=always -v /opt/data/registry:/var/lib/registry registry
在/etc/docker/daemon.json文件中添加以下内容
{ "insecure-registries":["192.168.100.10:5000"] }
重新加载进程并重启docker服务
systemctl daemon-reload
systemctl restart docker
执行以下命令,收到的相应是个json对象,其中repositories对应的值是空的json数组,表示目前仓库里还没有镜像
[root@master docker]# curl 192.168.100.10:5000/v2/_catalog
{"repositories":[]}
3将本地镜像push到私有仓库中
镜像默认走的是公共仓库(docker hub),所以需要命名镜像。
私有仓库镜像命名规则:==宿主机IP地址:端口号/xxxxx(需要更改的名称)==
使用docker tag为镜像命名
[root@master docker]# docker tag centos:latest 192.168.100.10:5000/centos:latest
将镜像上传到私有仓库
[root@master docker]# docker push 192.168.100.10:5000/centos:latest
查看私有仓库中的镜像
[root@master ~]# curl 192.168.100.10:5000/v2/_catalog
{"repositories":["centos"]}
从私有仓库拉取镜像
docker pull 192.168.100.10:5000/centos
如果需要删除私有仓库中的镜像,有一个简单的方法在运行registry时挂载在本地的目录[/opt/registry]中,找到指定的镜像存放的目录来进行删除。