Docker运维面试:如何部署私有Docker镜像仓库(https)

Docker运维面试:如何部署私有Docker镜像仓库(https)

如果是生产环境我更加推荐使用harbor去部署一套高可用的镜像仓库,如果是测试环境那我们就可以通过docker自己部署一套了。首先我们需要生成证书,这里填写自己registry的域名或者IP地址。

openssl req -x509 -newkey rsa:4096 -sha256 -days 3560 -nodes -keyout certs/domain.key -out certs/domain.crt -subj '/CN=myregistrydomain.com' -extensions san -config <( 
  echo '[req]'; 
  echo 'distinguished_name=req'; 
  echo '[san]'; 
  echo 'subjectAltName=IP: 127.0.0.1')

我们这里为了测试,生成完的证书解析如下:

Docker运维面试:如何部署私有Docker镜像仓库(https)

下面就可以通过docker启动镜像仓库仓库服务,挂载生成的证书。

 docker run -d   --restart=always
 --name registry  
 -v "$(pwd)"/certs:/certs  
-e REGISTRY_HTTP_ADDR=0.0.0.0:443  
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt   
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key   
-p 443:443   
registry:2

启动完成后,当我们开始push镜像的时候会提示

Get https://127.0.0.1/v2/: x509: certificate signed by unknown authority

这是因为这个证书是自签的,无法完成证书的验证,需要将私有的证书添加到Docker 证书配置里面,我们将证书拷贝到docker对应的证书路径下面(目录如果不存在就自己创建)。

cp domain.crt /etc/docker/certs.d/127.0.0.1

请将上面的127.0.0.1 换成对应仓库的IP地址或者域名,重新启动docker 后就可以成功push镜像了。

展开阅读全文

页面更新:2024-03-12

标签:仓库   路径   证书   提示   地址   环境   域名   测试   目录   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top