一、本機環境
①系統鏡像:CentOS7
②Docker:Docker version 19.03.5
③Docker-compose:docker-compose
二、Docker安裝
參考官網安裝即可:https://docs.docker.com/install/linux/docker-ce/centos/
1、卸載舊版本
$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
2、安裝依賴包
sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
3、配置倉庫
sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
4、安裝社區版Docker
sudo yum install docker-ce docker-ce-cli containerd.io
5、啟動docker
sudo systemctl start docker
6、運行hello-world
sudo docker run hello-world
三、Docker Compose安裝
參考官網安裝:https://docs.docker.com/compose/install/
1、下載compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2、授權
sudo chmod +x /usr/local/bin/docker-compose
3、查看docker-compose版本號
docker-compose -version
4、出現以下截圖說明安裝成功

以上安裝較慢,以下方式也可行:
①cd /usr/local/bin/
②wget https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-Linux-x86_64
③rename docker-compose-Linux-x86_64 docker-compose docker-compose-Linux-x86_64
④chmod +x /usr/local/bin/docker-compose
⑤docker-compose -version
四、Harbor安裝
官方GIthub地址:https://github.com/goharbor/harbor/releases(分為離線安裝、在線安裝,我這里采用離線安裝)
1、下載Harbor並上傳至服務器

2、解壓
tar -zxvf harbor-offline-installer-v1.2.0.tgz
3、移動至/usr/local目錄
mv harbor /usr/local/
4、創建https證書以及配置相關目錄權限
①創建2048位證書密碼
openssl genrsa -des3 -out server.key 2048
②創建證書請求
openssl req -new -key server.key -out server.csr

③備份證書
cp server.key server.key.org
④退秘鑰(防止nginx啟動報錯)
openssl rsa -in server.key.org -out server.key
⑤創建證書
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
⑥創建目錄並拷貝證書
mkdir -p /data/cert
mv server.* /data/cert/
⑦授權
chmod -R 777 /data/cert
5、進入harbor目錄
①cd /usr/local

②修改harbor配置文件:vim harbor.cfg(24行、25行有證書相關配置)

③執行安裝腳本:./install.sh,靜靜等等安裝即可。

④docker ps -a查看

核心組件:
①Proxy:nginx前端代理,代理Harbor的registry,UI,Token等服務
②jobservice:負責鏡像復制
③ui:提供圖形化界面
④db:負責存儲用戶權限、審計日志等數據
⑤adminserver:jobservice和ui啟動時候需要加載其中的配置
⑥registry:鏡像倉庫(Docker官方)
⑦log:負責收集其他組件的log
⑤修改本地hosts文件解析域名(C:\Windows\System32\drivers\etc\hosts)

⑥瀏覽器訪問:https://hub.rmitec.com/

⑦登錄系統,用戶名:admin,密碼:Harbor12345

⑧創建一個用戶:zs,並使用zs用戶創建一個私有項目(創建用戶過程略)

⑨在此可以查看到鏡像推送命令提示

注:此時是無法通過該命令推送的,原因是這個倉庫是屬於zs用戶,不做認證是無法推送鏡像的。
10、上傳鏡像進行上傳測試
10.1指定鏡像倉庫地址
vim/etc/docker/daemon.json
添加以下內容:
{"insecure-registries": ["serverip"] }

同樣記得修改本地hosts文件映射(當然上一步可以直接配置IP)

10.2 重啟docker--systemctl restart docker
10.3下載測試鏡像:docker pull tomcat
10.4給鏡像重新打標簽:docker tag tomcat hub.rmitec.com/system01/tomcat:v1.0
10.5推送鏡像至私有倉庫

10.6登陸私服,再次推送成功

10.7通過管理頁面查看,鏡像已經推送成功

11、客戶端測試(另一台機器)
11.1 指定倉庫地址:vim /etc/docker/daemon.json

配置本地hosts文件

11.2重啟docker:systemctl restart docker
11.3拉取鏡像:docker pull hub.rmitec.com/system01/tomcat:v1.0

拉取失敗,這里需要身份認證

11.4登陸用戶認證,再次拉取鏡像

11.5運行從Harbor拉取的tomcat鏡像:docker run --name tomcat -p 80:8080 -d 6408fdc94212

11.6瀏覽器訪問:http://192.168.66.21/,可以看到通過拉取的tomcat:v1.0鏡像運行的容器成功。ps:久違的三只腳貓咪~~~

至此已經搭建完成Harbor私服,如有不正,歡迎指正!歡迎留言討論問題,說不定你正在走的坑就是我走過的坑。哈哈~~~~
