前提:使用centos7

node1:192.168.6.131

node2:192.168.6.129

实现服务habror服务器用https。


node1:设置为harbor服务器;

node2:设置为docker服务器。


与上一篇文章安装步骤略有不同,主要是在配置ssl证书部分,其他安装docker、docekr-compose、harbor都一样:


在两台节点上都安装docker:

前提配置好yum仓库源。

yum -y install docker

systemctl start docker

systemctl enable docker


此外,docker的image存放位置,使用nfs共享目录。

yum install nfs-utils

注意:两节点都安装nfs软件包。


创建共享目录挂载点:

mkdir /data/imagedata
vim /etc/exports
添加:
/data/imagedata *(rw no_root_squash)

启动nfs服务:

systemctl start nfs
systemctl enable nfs

显示nfs可挂载目录:

showmount -e 192.168.6.129

测试挂载nfs:

mount -t nfs 192.168.6.129:/data/imagedata /mnt/
df -TH

测试成功后卸载:

umount /mnt

在docker服务启动前,挂载nfs共享目录:

mkdir /var/lib/docker

配置自动挂载:

vim /etc/fstab
添加:
192.168.6.129:/data/imagedata /var/lib/docker nfs  defaults,_netdev 0 0

mount -a
df -TH

启动docker:

systemctl start docker
systemctl enable docker

启动docker后,会自动在/var/lib/docker目录下生成很多文件。


在node1上安装harbor:

yum -y install python-pip
pip install docker-compose
tar xf harbor-1.2.2.tgz
cd harbor

修改harbor.cfg配置文件:

vim harbor.cfg
修改:
hostname = harbor.magedu.example.com #(本机ip192.168.6.131或域名为了配置ssl证书)
ui_url_protocol = https
harbor_admin_password = 123456
ssl_cert = /usr/local/src/harbor/certs/server.crt
ssl_cert_key = /usr/local/src/harbor/certs/server.key

说明:ssl相关证书,下面在制作。


时间必须同步,否则证书有问题:

ntpdate time1.aliyun.com
hwclock -w

在harbor命令下创建证书目录:

mkdir /usr/local/src/harbor/certs
cd /usr/local/src/harbor/certs

生成私有key:

openssl genrsa -out server.key 2048

生成证书:

openssl req -x509 -new -nodes -key server.key -subj "/CN=harbor.magedu.example.com" -days 7120 -out server.crt

运行Harbor:

./install.sh

配置hosts解析文件:

vim /etc/hosts
192.168.6.131  harbor.magedu.example.com

注意:只要是在harbor上传下载的主机,就配置hosts文件。

这样,浏览器访问:http://harbor.magedu.example.com,提示使用https不安全的访问。


配置docker服务器支持ssl访问harbor服务器:

注意:所有docker服务器要想服务harbor的https,都应该配置如下操作。

mkdir -p /etc/docker/certs.d/harbor.magedu.example.com

说明:

在dcoker目录下,创建certs.d目录,并在其下创建以访问harbor的域名为目录。

把证书拷贝到该目录下:

cd /etc/docker/certs.d/harbor.magedu.example.com
scp node2:/usr/local/src/harbor/certs/server.crt /usr/local/src/harbor/certs/

需要重启docker:

systemctl restart docker


使用域名登录harbor:

docker login harbor.magedu.example.com

输入用户名:admin

输入密码:123456


制作镜像:

docker tag 192.168.6.129/server1/centos-nginx-base:web2 harbor.magedu.example.com/baseimages/centos-nginx-base:web2

上传镜像到带有https访问的harbor仓库:

docker push harbor.magedu.example.com/baseimages/centos-nginx-base:web2