Registry(Distribution,原 Docker Registry v2) 是 OCI 官方分发规范的参考实现,一个用 Go 写的轻量、无状态 HTTP 服务,只做一件事:存镜像、传镜像、拉镜像(也支持 Helm、SBOM 等 OCI Artifact)。它不是"企业平台",而是镜像存储与分发的基础引擎------Harbor 也是基于它扩展出来的。
目录
注:后续将分布讲解nginx配置反向代理、配置https证书等。
一、安装docker
参考地址:《如何安装任意版本docker》
二、部署registry
1、下载registry
docker pull docker.1ms.run/library/registry:2

2、创建数据存放目录
mkdir -p /opt/data/registry

3、创建registry容器
docker run -itd -p 5000:5000 -v /opt/data/registry:/var/lib/registry --name registry --restart always docker.1ms.run/library/registry:2
注:端口可按需修改

三、配置registry
启用删除操作
1、拷贝配置文件到本地
docker cp registry:/etc/docker/registry/config.yml .

2、修改配置文件
vim config.yml # 添加如下内容
delete:
enabled: true


3、拷贝修改后的配置文件至容器中
docker cp config.yml registry:/etc/docker/registry/config.yml

4、重启服务
docker restart registry

四、说明
1、查看镜像列表
curl 10.211.55.16:5000/v2/_catalog

2、查看版本列表
curl 10.211.55.16:5000/v2/os/myos/tags/list

3、删除镜像
1)查询镜像哈希
curl -I -H "Accept: application/vnd.docker.distribution.manifest.v2+json" 10.211.55.16:5000/v2/os/myos/manifests/23

2)删除镜像
curl -X DELETE 10.211.55.16:5000/v2/os/myos/manifests/sha256:377effc614cc365c37fc493f9c95971a99b61e50565f681753b82232e461c076

4、配置http可信
注:如已配置daemon.json,备份后添加或酌情修改
cat <<EOF | sudo tee /etc/docker/daemon.json
{"insecure-registries":["10.211.55.16:5000"]}
EOF

5、重启docker服务
systemctl restart docker

五、验证
1、创建测试镜像
参考地址:《如何制作一个docker base镜像》
2、上传镜像
docker push 10.211.55.16:5000/os/myos:23

3、下载镜像
docker pull 10.211.55.16:5000/os/myos:23

注:后续将分布讲解nginx配置反向代理、配置https证书等。
注:如按文中配置需开放端口
firewall-cmd --add-port=5000/tcp --permanent
firewall-cmd --reload