Docker仓库Harbor搭建并设置HTTPS

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/lyl0724/article/details/88050346

这里采用离线安装的方式,安装需要有root权限。
请先安装好docker和docker-compose

编辑/etc/docker/daemon.json文件,没有这个文件的话就新建它,但路径不能改。

vim /etc/docker/daemon.json

添加需要装harbor的机器添加机器IP或者可用的域名,否则其他机器无法docker login 192.168.255.128

{
  "insecure-registries" : ["192.168.255.128"]
}

重启docker

一、下载harbor

下载地址:http://harbor.orientsoft.cn/

harbor-offline-installer-v1.5.0.tgz     09-May-2018 03:22  823M

二、解压harbor

tar zxvf harbor-offline-installer-v1.5.0.tgz
cd harbor
mkdir cert
cd cert

说明:解压得到harbor目录,在文件下创建cert目录,用于放置HTTPS相关证书。

三、准备HTTPS证书

3.1 制作证书前的操作

关键点:制作证书前需要设置openss的配置文件,在[ v3_ca ] 下添加subjectAltName = IP:192.168.255.128,否则做出来的证书使用docker登录会报:x509: cannot validate certificate for 192.168.255.128 because it doesn't contain any IP SANs 错误。

vim /etc/pki/tls/openssl.cnf
[ v3_ca ]
subjectAltName = IP:192.168.255.128

3.2 制作证书

切换到放置证书的目录

cd harbor/cert/

制作证书命令

openssl req \
-newkey rsa:4096 -nodes -sha256 -keyout ca.key \
-x509 -days 365 -out ca.crt \
-subj "/C=CN/ST=Guangdong/L=Shenzhen/O=WB/OU=IT/CN=192.168.255.128/[email protected]"

说明:C=CN(国家),ST=Guangdong(省份),L=Shenzhen(城市),O=WB(公司),OU=IT(部门),CN=192.168.255.128(IP-关键点),[email protected](邮箱)

证书包含ca.key和ca.key两个文件

[root@localhost cert]# ls
ca.crt  ca.key

四、安装Harbor

4.1 修改配置

cd harbor/
vim harbor.cfg

修改内容如下:

hostname = 192.168.255.128
ui_url_protocol = https
ssl_cert = harbor/cert/ca.crt
ssl_cert_key = harbor/cert/ca.key

4.2 安装

运行安装脚本

cd harbor/
./install.sh

4.3 检查安装

安装完成后docker中会跑有8个harbor相关容器

在这里插入图片描述

用浏览器打开https://192.168.255.128/会出现登录页面,默认的账户:admin:Harbor12345
在这里插入图片描述

五、上传docker镜像到harbor仓库

拉取一个镜像,打个tag,然后上传。

docker login 192.168.255.128
docker pull google/cadvisor:latest
docker tag google/cadvisor:latest 192.168.255.128/library/google/cadvisor:latest
docker push 192.168.255.128/library/google/cadvisor:latest

在浏览器中可以看到

在这里插入图片描述

六、拉取镜像

使用docker登录,在拉取镜像

docker login 192.168.255.128
docker pull 192.168.255.128/library/google/cadvisor:latest

可以看到已经把镜像拉下来了

在这里插入图片描述

七、在其他机器拉取docker镜像

因为证书时自己制作的,并没有权威认证,需要把ca.crt复制到其他机器添加信任,docker才能登录harbor。

把证书复制到其他机器192.168.255.129

cd harbor/cert/
scp ca.crt 192.168.255.129:~

登录到192.168.255.129,切换到证书所在目录,把证书添加到docker信任的目录。

cd ~
mkdir -p /etc/docker/certs.d/192.168.255.128/
mv ca.crt /etc/docker/certs.d/192.168.255.128/

192.168.255.128是装harbor的机器的IP。

然后就可以像第六步一样拉取镜像了。


注意的点:

1、制作HTTPS证书前要修改openssl.cnf的配置。

2、其他机器要把证书添加信任。

猜你喜欢

转载自blog.csdn.net/lyl0724/article/details/88050346