docker配置连接harbor私有仓库

一、前言

    以下分为两种情况说明docker对harbor私有仓库的访问配置,一种是harbor使用自建证书配置https,一种是使用公有证书配置https

二、docker配置

     harbor使用自建证书的情况

     使用自建证书对harbor进行https配置,docker会将该仓库识别成不安全仓库,从该仓库中拉去取镜像或者推送镜像时会报错,即使使用浏览器访问该harbor也是提示不安全的连接,所以需要在docker的daemon.json文件中配置信任该不安全仓库后,才能从该仓库拉取镜像

     vi /etc/docker/daemon.json

{
 "insecure-registries": ["harbor.apex.com"]    #信任不安全仓库配置
}

    配置daemon.json后还并不能正常访问,这时使用docker访问harbor仓库时会报证书验证的错误,因为还需要在docker这边配置harbor的证书才能正常的使用https访问harbor仓库,以下是没在docker配置证书时的报错信息

 关于docker访问harbor https的配置在harbor官方中也有说明和配置:Harbor docs | Configure HTTPS Access to Harbor

  为docker配置证书

  创建存放证书的路径,最后的目录一定要改为自己的域名

  mkdir -p  /etc/docker/certs.d/harbor.apex.com/

  将配置harbor时的证书拷贝到该目录下,然后再使用ca证书生成一个cert证书

  cd /etc/docker/certs.d/harbor.apex.com/

  openssl x509 -inform PEM -in harbor.crt -out harbor.cert

  该目录下一共有三个证书harbor.crt、harbor.key、harbor.cert

  重启docker

  systemctl restart docker

  再次访问验证就不会再出现证书的报错问题

  harbor使用公有证书的情况

  使用公有证书配置harbor后,docker访问harbor仓库不会出现不安全仓库的提示,使用浏览器访问也不会提示不安全的连接,所以不用再配置daemon.json文件信任该仓库,但是还是需要对docker进行证书的配置,不然还是会提示证书报错,我这里使用的是阿里云的ssl公有证书

创建docker的存放公钥目录

 mkdir -p  /etc/docker/certs.d/harbor.ylbeijing.com/

将配置harbor的阿里云ssl证书放到该目录下

cd /etc/docker/certs.d/harbor.ylbeijing.com/ && ls

阿里云的ssl证书一共有三个,我这边都放到了docker的配置目录下,但是生成cert证书需要使用阿里云证书里的公钥证书去生成

openssl x509 -inform PEM -in harbor.ylbeijing.com_public.crt -out harbor.ylbeijing.com.cert

生成完cert证书后重启docker即可正常访问私有仓库

使用容器版docker必须要用公钥配置的harbor,不然容器版的docker是没法配置daemon.json的,使用公钥后直接把证书生成后拷贝挂载到容器版的docker中,就可以正常拉镜像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值