前提:使用centos7node
node1:192.168.6.131
python
node2:192.168.6.129nginx
实现服务habror服务器用https。web
node1:设置为harbor服务器;docker
node2:设置为docker服务器。vim
与上一篇文章安装步骤略有不一样,主要是在配置ssl证书部分,其余安装docker、docekr-compose、harbor都同样:centos
在两台节点上都安装docker:浏览器
前提配置好yum仓库源。安全
yum -y install dockerbash
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