1、下载registry镜像
我这里准备好了可以直接下载registry.tar
2、上传镜像到离线目标服务器
3、导入registry镜像
docker load -i registry.tar
4、安装registry
① 、创建registry数据持久化目录
mkdir /registry_data
②、安装registry
docker run -d -it --name=registry -e REGISTRY_STORAGE_DELETE_ENABLED=true -p 5000:5000 --restart=always -v /registry_data:/var/lib/registry registry:latest
5、测试
①浏览器访问http://ip:5000/v2/_catalog
恭喜你registry安装成功!!!
②测试上传镜像和拉去镜像
1、测试上传镜像
docker tag mysql:latest 192.168.44.130:5000/mysql:v1
docker push 192.168.44.130:5000/mysql:v1
如上图,则上传成功
2、测试拉取镜像
在内网互通的其他服务器上添加daemon.json文件
cat >> /etc/docker/daemon.json << EOF
{"insecure-registries":["192.168.44.130:5000"]} #修改为你的registry服务器ip
EOF
重启docker
systemctl restart docker
拉取镜像
docker pull 192.168.44.130:5000/mysql:v1
如上图,则拉取成功
6、registry仓库使用手册
①查看镜像列表
http://registry_ip:5000/v2/_catalog # 在浏览器查看仓库镜像列表
curl -X GET http://registry_ip:5000/v2/_catalog # 在服务器查看仓库镜像列表
②查看某个镜像tag
http://registry_ip:5000/v2/image_name/tags/list # 在浏览器查看某个镜像的tag
curl -X GET http://registry_ip:5000/v2/image_name/tags/list # 在服务器查看某个镜像的tag
③删除镜像
curl --header "Accept:application/vnd.docker.distribution.manifest.v2+json" -I -XGET http://registry_ip:5000/v2/image_url/image_name/manifests/images_tag
执行成功后会返回如下图
curl -X DELETE http://registry_ip:5000/v2/image_url/image_name/manifests/sha256:3bba80d2624a6a41dff14af66506ffa396a54b1117beafbf10dcb8c933ac7b90
执行成功后没有输出,可通过6.2查看,如果tags字段为null,则删除成功