【Docker】如何创建带有SSL的Private Registry

本文介绍如何通过生成SSL证书来配置私有的Docker Registry,并详细说明了设置过程中的关键步骤,包括证书生成、配置客户端信任及Registry启动等。此外还提供了启动前端UI以方便访问Registry的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此处都是干货,请各自理解其中命令。


# 先生成密钥,registry.crt为证书,registry.key为私钥

openssl req -newkey rsa:4096 -nodes -sha256 -keyout /root/certs/registry.key -x509 -days 356 -out /root/certs/registry.crt


# 此处CommonName必须填写为最后要访问域名,如果是registry.edvance-yun.com,那么就此名字。


# 在客户端加入此证书,注意此处docker daemon进程认可的证书必须为<hostname>:<port>目录

mkdir -p /etc/docker/certs.d/registry.edvance-yun.com:5000
cp /root/certs/registry.crt /etc/docker/certs.d/registry.edvance-yun.com:5000/ca.crt
systemctl restart docker


# 启动Registry

docker run --rm -d -p 5000:5000 \
-v /root/certs:/certs \
-v /data/docker/registry/:/var/lib/registry/ \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/registry.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/registry.key \
--name registry \
registry:2


# 启动frontend UI

docker run --rm -d \
-e ENV_DOCKER_REGISTRY_HOST=edr.edvance-yun.com \
-e ENV_DOCKER_REGISTRY_PORT=5000 \
-e ENV_DOCKER_REGISTRY_USE_SSL=1 \
-p 0.0.0.0:80:80 \
--name frontend \
konradkleine/docker-registry-frontend:v2


注意:好像证书签发地址不可以为IP地址,我试了很久都不成功,最后还是改回域名。


接下去的问题就是:如何对镜像进行扫描了?www.aquasec.com


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值