前提:使用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