centos搭建docker registry镜像仓库

centos搭建docker registry镜像仓库

简介

Docker Registry是一个存储和分发Docker镜像的服务。它允许用户上传、下载和管理 Docker 镜像,为容器化应用的部署提供了便利。

拉取镜像

sh 复制代码
docker image pull registry

证书配置

创建镜像仓库的镜像数据目录和证书目录,便于挂载

sh 复制代码
mkdir /data/registry/data
mkdir /data/registry/certs

生成镜像仓库证书

sh 复制代码
cd /data/registry/certs
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt -subj \
"/C=CN/ST=GX/L=Bei Jing/O=xxx Technology Co., Ltd./CN=xxx Root Certificate"
openssl req -newkey rsa:4096 -nodes -sha256 -keyout registry.key -out registry.csr -subj \
"/C=CN/ST=GX/L=Bei Jing/O=xxxx Technology Co., Ltd./CN=registry.xxx.com"
openssl x509 -req -days 365 -in registry.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out registry.crt

ssl配置,将自签名证书加入系统证书中心,使操作系统信任

sh 复制代码
## 对于ubuntu系统则是/etc/ssl/certs/ca-certificates.crt
cat /data/registry/certs/ca.crt >> /etc/pki/tls/certs/ca-bundle.crt
systemctl restart docker

仓库运行

sh 复制代码
docker run -d -p 5000:5000 --restart=always --name registry \
-v /data/registry/data:/var/lib/registry \
-v /data/registry/certs:/certs \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/registry.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/registry.key \
registry:2

客户端访问

使用registry.xxx.com:5000访问,配置镜像仓库的域名解析

sh 复制代码
echo 'x.x.x.x registry.xxx.com' >> /etc/hosts/hosts

镜像迁移

镜像从旧仓库导出

sh 复制代码
docker tag registry:2 registry.xxx.com:5000/public/registry:2
docker save -o registry.tar registry.xxx.com:5000/public/registry:2

镜像导入到新镜像仓库

sh 复制代码
docker load -i registry.tar

镜像推送到新镜像仓库

sh 复制代码
docker push registry.xxx.com:5000/public/registry:2

也可以直接把整个镜像仓库数据文件挂载到新仓库

sh 复制代码
-v /data/registry/data:/var/lib/registry

参考

docker registry官方文档

相关推荐
wuminyu1 小时前
Kafka中sendfile与mmap实现机制解析
java·linux·c语言·jvm·c++
新时代牛马2 小时前
嵌入式网络完整篇:从LwIP/以太网驱动到 Linux netdev 与排障
linux·网络·php
猿与禅2 小时前
Linux(Ubuntu)入门到实战:系统管理、常用命令与权限体系完整指南
linux·ubuntu·apt·进程管理·系统运维·用户权限·vi/vim
前端世界2 小时前
Linux服务器实战:NTP时间同步、SELinux权限与rsyslog日志管理,一次搞懂三大运维问题
linux·运维·服务器
Android系统攻城狮2 小时前
Linux Gstreamer深度解析之gst_audio_converter_new调用流程与实战(二十)
linux·运维·服务器·gstreamer音视频·音视频进阶
莫陌尛.2 小时前
Docker MySQL 删表卡死、执行超时(MDL锁阻塞)问题复盘与根治方案
mysql·docker·容器
星辰徐哥7 小时前
本地视频预览别只自己看:把Remotion动效项目发给客户远程验收
docker·ai·node.js·html·音视频·react·remotion
H_oRIZoN_7 小时前
Linux入门DAY41(51 单片机 串口与通信协议)
linux·运维·单片机
GeW9 小时前
RHCE备考别瞎学!按这个计划走,30天提高通过率,快速拿证
linux
Escalating_xu9 小时前
【System V 信号量】从 P/V 原语到 Builder 封装:写出可控、可清理的进程互斥组件
java·linux·开发语言·jvm