完成效果:
前言:在本地搭建好docker的镜像仓库harbor后,当我们登录docker login时,会提示证书问题x509: cannot validate certificate
登录本地报错X509
无法登录仓库也无法上传和拉取镜像,虽然有本机的解决方法,那就是在docker配置中增加
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --insecure-registry https://192.168.2.23:4430
但此方法还是有问题,每一台docker服务器都要配置,而且是以IP地址为前缀的tag,所以就想到用自签名SSL证书,但是自签名证书不可信问题又导致无法登录,某些docker主机还是报证书问题,包括k8s中创建的镜像仓库验证,于是自签名证书变得不可用。
开始创建DigiCert 免费版 SSL证书应用于harbor仓库。
1、登录域名控制台
这里以阿里云为例,如果没有域名,这里需要你购买域名。有了域名后添加域名解析
创建证书完成后,并下载证书,服务器类型选nginx。
2、上传harbor服务器
把下载到的文件进行解压操作。
在服务器创建文件夹,并cd进入这个文件夹
mkdir -p /home/cert/你的域名/
cd home/cert/你的域名/
上传解压后的证书文件到这个目录里面,上传完成查看内容ls -la
3、配置harbor文件https属性
编辑harbor.yml文件
vim /root/harbor/harbor.yml
取消https的注释,并且编辑certificate和private_key证书文件路径。按照下方配置即可
4、重新预配置harbor并安装
在/root/harbor目录下执行以下命令,先预配置,再安装
./prepare
./install.sh
5、检查harbor服务是否正常
使用docker ps命令检查容器是否全部启动成功,访问harbor页面。