部署環境IP如下:( 部署前 docker-study 已安裝 docker,controller 節點並沒有安裝 docker )
[root@controller ~]# ip -4 a show ens33 |grep inet |cut -d' ' -f6
192.168.121.80/24
[root@docker-study ~]# ip -4 a show ens33 |grep inet |cut -d' ' -f6
192.168.121.70/24
# 1. controller 節點安裝 docker
訪問 docker 文檔官網 https://docs.docker.com/engine/install/centos/ 下載並安裝 docker
步驟如下:
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io -y
# 2. 去阿里雲官網控制台搜索容器鏡像服務
將方框中的命令復制粘貼到 controller 節點終端里面然后並設置 docker 下次開機啟動 systemctl enable docker
# 3. 安裝 docker-compose
[root@controller ~]# yum -y install epel-release
[root@controller ~]# yum -y install docker-compose
# 4. 通過 harbor 壓縮包安裝 harbor,可在 github 上面找到壓縮包,地址為 https://github.com/goharbor/harbor/releases/download/v2.0.0/harbor-offline-installer-v2.3.4.tgz
將上傳后的 harbor 壓縮包解壓到 /opt 目錄下
[root@controller ~]# tar zxvf harbor-offline-installer-v2.3.4.tgz -C /opt
切換至壓縮后的目錄
[root@controller ~]# cd /opt/harbor/
[root@controller harbor]# ls -l
total 596284
-rw-r--r--. 1 root root 3361 Nov 9 19:01 common.sh
-rw-r--r--. 1 root root 610560420 Nov 9 19:01 harbor.v2.3.4.tar.gz
-rw-r--r--. 1 root root 7840 Nov 9 19:01 harbor.yml.tmpl
-rwxr-xr-x. 1 root root 2500 Nov 9 19:01 install.sh
-rw-r--r--. 1 root root 11347 Nov 9 19:01 LICENSE
-rwxr-xr-x. 1 root root 1881 Nov 9 19:01 prepare
將 harbor.yml.tmpl 文件拷貝一份並命名為 harbor.yml
[root@controller harbor]# cp harbor.yml.tmpl harbor.yml
然后編輯 harbor.yml 文件
將 hostname 改為 controller 節點的 IP,並把 https 等注釋 配置文件中的 harbor 倉庫登錄的默認密碼可以修改
修改 docker.service 文件
[root@controller harbor]# vim /lib/systemd/system/docker.service
修改后重載守護進程並重啟 docker 生效
[root@controller harbor]# systemctl daemon-reload && systemctl restart docker.service
然后執行 harbor 的安裝腳本
[root@controller harbor]# ./install.sh
腳本執行成功后最后一行如下所示
# 5. 查看 docker 鏡像和容器
一共15個鏡像和9個正在運行的容器,注:鏡像和容器的個數可能因 harbor 壓縮包版本的不同而不同
# 6. controller 節點登錄 harbor
# 7. docker-study 節點修改配置文件並登錄 harbor 倉庫
[root@docker-study ~]# vim /lib/systemd/system/docker.service
重載守護進程和 docker 服務
[root@docker-study ~]# systemctl daemon-reload && systemctl restart docker.service
訪問 controller 節點的 harbor 倉庫
至此,harbor 倉庫已經可以被兩個不同用戶登錄,上傳和下載鏡像。