如何搭建docker仓库(轻量级)registry

Registry(Distribution,原 Docker Registry v2) 是 OCI 官方分发规范的参考实现,一个用 Go 写的轻量、无状态 HTTP 服务,只做一件事:存镜像、传镜像、拉镜像(也支持 Helm、SBOM 等 OCI Artifact)。它不是"企业平台",而是镜像存储与分发的基础引擎------Harbor 也是基于它扩展出来的。

目录

一、安装docker

二、部署registry

1、下载registry

2、创建数据存放目录

3、创建registry容器

三、配置registry

1、拷贝配置文件到本地

2、修改配置文件

3、拷贝修改后的配置文件至容器中

4、重启服务

四、说明

1、查看镜像列表

2、查看版本列表

3、删除镜像

1)查询镜像哈希

2)删除镜像

4、配置http可信

5、重启docker服务

五、验证

1、创建测试镜像

2、上传镜像

3、下载镜像

注:后续将分布讲解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

相关推荐
无足鸟ICT26 分钟前
【RHCA+】agedu命令(查看磁盘使用情况)
linux
StarsGreen33 分钟前
Android 启动流程详解
android·linux·单片机·嵌入式硬件
分布式存储与RustFS1 小时前
Hudi 表想摆脱 HDFS 绑定?用 Spark + Hudi 直接写进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
zhengfei6111 小时前
CVE-2026-98432:Linux 内核 TCP 释放后重用漏洞,CVSS 9.8 但补丁覆盖极不均衡
linux·运维·tcp/ip
逐流人1 小时前
DevOps 入门实战(一):从 CI/CD 概念到 Jenkins 自动构建部署
运维·云原生·云计算·jenkins·devops
叼烟扛炮1 小时前
Linux 学习笔记(六十一):网络编程毕业设计——Reactor 反应堆模式
linux·网络·笔记·学习·课程设计
xyzzklk2 小时前
变相解决华为Mate 8锁屏后无法建立入站网络连接
linux·运维·服务器·网络·华为·go·安卓
叼烟扛炮3 小时前
Linux 学习笔记(五十九):epoll 的生死抉择——LT 与 ET 模式
linux·运维·服务器·网络·笔记·学习·php
David猪大卫10 小时前
【Linux修炼】环境变量、进程地址空间
linux·c语言·经验分享·笔记·学习·ubuntu·centos