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

搭建docker registry私服,并且支持https推送

搭建docker registry私服,并且支持https推送

  • 一、为什么写这篇文章
  • 二、搭建过程
  • 三、验证

一、为什么写这篇文章

网上关于搭建docker registry的文章一大把,但是都是配置为http方式推送,且需要显示端口,这个在真正项目使用中,肯定不这么用,都是直接使用类似下面这条命令这样推送,但是docker registry直接启动之后如果不配置,使用下面的命令推送又会报错,于是打算自己写一篇记录一下,一是方便自己后来查看,二来分享给大家避免再浪费时间去试错。

# 示例命令,实际操作时镜像及仓库域名自行替换
docker tag nginx my.registry.com/nginx
docker push my.registry.com/nginx

未配置前,直接使用域名推送会报错
在这里插入图片描述

二、搭建过程

1.生成SSL证书
如果是生产环境直接从云服务商(如腾讯云、阿里云)申请受信任的SSL证书。我这里是本地的私服,直接使用命令生成

# 创建目录
mkdir -p /etc/docker/certs.d/my.registry.com
# 生成ssl证书 域名需要替换成实际自己的
openssl req -newkey rsa:4096 -nodes -sha256 \
  -keyout /etc/docker/certs.d/my.registry.com/domain.key \
  -x509 -days 365 -out /etc/docker/certs.d/my.registry.com/domain.crt \
  -subj "/CN=my.registry.com" \
  -config <(cat /etc/pki/tls/openssl.cnf <(printf "[req]\nsubjectAltName=DNS:my.registry.com"))

2.运行registry

# 拉取registry镜像
docker pull registry 
# 运行镜像
docker run -d \
  --name registry \
  -p 443:5000 \
  -p 5000:5000 \
  -v /etc/docker/certs.d/my.registry.com:/certs\
  -v /usr/local/registry:/var/lib/registry \
  -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
  -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
  registry

三、验证

1.初步验证
在这里插入图片描述

[root@linux01 my.registry.com]# docker push my.registry.com/nginx
Using default tag: latest
Error response from daemon: Missing client certificate domain.cert for key domain.key

发现还是推送不上去,但是这里的提示很明显,就是缺少domain.cert文件
2.解决问题

# 进入容器内部
docker exec -it registry /bin/sh
# 拷贝文件 domain.cert
cp /certs/domain.crt /certs/domain.cert

3.再次验证
在这里插入图片描述

如果你直接将上面命令中的domain.crt直接写成domain.cert,那么你可能会遇到这个错,所以还是按照步骤来执行吧。
在这里插入图片描述
补充:
假设registry在A机器搭建的,现在想在B机器上使用docker push,只需要将A机器生成的ssl证书相关文件拷贝到B机器上,就可以执行push了
在这里插入图片描述

相关文章:

  • 使用人工智能大模型腾讯元宝,如何快速编写活动记录?
  • ZKmall开源商城服务端验证:Jakarta Validation 详解
  • C++学习day7
  • Linux学习笔记(2) 命令基础:从概念到实践(期末,期中复习笔记全)
  • 从零开始学Python游戏编程13-整数3
  • 【LangChain Agent 】详解,构建自主决策的 LLM 应用
  • Django信号使用完全指南示例
  • 视频插帧EMAVFI:extracting motion and appearance via inter-frame attention for video
  • 虚拟世界的AI魔法:AIGC引领元宇宙创作革命
  • 【数据结构】排序算法(下篇·开端)·深剖数据难点
  • 高等数学同步测试卷 同济7版 试卷部分 上 做题记录
  • Spring Boot嵌入前端静态资源:从原理到实战的完整指南
  • 编译器优化技术解析
  • 鼠标连点器
  • js算法基础-01
  • python日期和时间、文件和目录操作
  • openstack云平台部署(脚本版)
  • 2025 年浙江保安员职业资格考试高效备考指南​
  • 学会把选择题变成填空题:如何主动设计人生答案
  • BACnet协议+设备数据接入
  • 网站模板下载百度云链接怎么做/百度账号登录个人中心
  • 北京网络公司注册/seo排名优化
  • 新网站怎么做论坛推广/谷歌排名推广
  • 网站优化排名易下拉排名/网站排名大全
  • wordpress插件外贸/泰州网站建设优化
  • 杭州蚂蚁 做网站的公司/今日头条新闻手机版