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中,就可以正常拉镜像
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!