当前位置: 首页 > article >正文

centos搭建docker registry镜像仓库

centos搭建docker registry镜像仓库

简介

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

拉取镜像

docker image pull registry

证书配置

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

mkdir /data/registry/data
mkdir /data/registry/certs

生成镜像仓库证书

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配置,将自签名证书加入系统证书中心,使操作系统信任

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

仓库运行

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访问,配置镜像仓库的域名解析

echo 'x.x.x.x registry.xxx.com' >> /etc/hosts/hosts

镜像迁移

镜像从旧仓库导出

docker tag registry:2 registry.xxx.com:5000/public/registry:2
docker save -o registry.tar registry.xxx.com:5000/public/registry:2

镜像导入到新镜像仓库

docker load -i registry.tar

镜像推送到新镜像仓库

docker push registry.xxx.com:5000/public/registry:2

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

-v /data/registry/data:/var/lib/registry

参考

docker registry官方文档


http://www.kler.cn/a/518798.html

相关文章:

  • 云原生:构建现代化应用的基石
  • 国产编辑器EverEdit - 大纲视图
  • 为什么IDEA提示不推荐@Autowired❓️如果使用@Resource呢❓️
  • 讯飞绘镜(ai生成视频)技术浅析(二):大模型
  • Redis实战(黑马点评)——关于缓存(缓存更新策略、缓存穿透、缓存雪崩、缓存击穿、Redis工具)
  • 如何优化深度学习模型来提高错别字检测准确率?
  • Alibaba Spring Cloud 十六 Sentinel 流量控制
  • Qt Designer and Python: Build Your GUI
  • fpga系列 硬件:FPGA 最小系统参考图与图释+Zynq-7010 最小系统Zynq-7010 启动配置
  • 解锁 MySQL 数据库的无限潜能:全方位深度解析
  • 容器内判断当前的运行环境是docker还是podman
  • 从曾国藩的经历看如何打破成长中的瓶颈
  • 【算法】数论基础——唯一分解定理(算术基本定理)python
  • ES6 类语法:JavaScript 的现代化面向对象编程
  • 前端开发学习路线
  • 【信息系统项目管理师-选择真题】2017下半年综合知识答案和详解
  • 在java java.util.Date 已知逝去时间怎么求年月日
  • Spring AOP通知类型全解析:掌握方法执行前后的艺术
  • Github 2025-01-25Rust开源项目日报Top10
  • JavaScript学习笔记(3)
  • 16.知识图谱中的本体、实体、属性与关系:区别与联系
  • Redis缓存:春招面试的关键知识点
  • Electron版本列表
  • 【自然语言处理(NLP)】循环神经网络RNN
  • 【unity游戏开发之InputSystem——06】PlayerInputManager组件实现本地多屏的游戏(基于unity6开发介绍)
  • 【Flask】在Flask应用中使用Flask-Limiter进行简单CC攻击防御