1 部署 Harbor
注意:docker、docker-compose、Harbor的版本是否適配,這里使用的版本如下表:
Docker版本 | Docker Compose版本 | Harbor版本 |
---|---|---|
v19.09.8 | v1.29.2 | v2.8.2 |
1.1 安裝 docker-compose
# 下載 docker-compose 1.29.2 版本
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -oin/docker-compose# 賦予執行權限
chmod +x /usr/local/bin/docker-compose# 驗證安裝
docker-compose --version
1.2 部署 Harbor
1.2.1 下載或上傳 Harbor 安裝包
# 下載 Harbor 離線安裝包
wget https://github.com/goharbor/harbor/releases/download/v2.8.2/harbor-offline-installer-v2.8.2.tgz# 解壓
tar zxvf harbor-offline-installer-v2.8.2.tgz -C /usr/local/# 進入 harbor 相關目錄
cd /usr/local/harbor/
1.2.2 配置 Harbor
# 復制示例文件
cp harbor.yml.tmpl harbor.yml
# 編輯配置文件
vi harbor.yml
修改harbor.yml 內容如下:
# 配置 Harbor 訪問地址
hostname: 192.168.56.103# 配置 HTTP (端口默認是80,這里避免被占用改為8088)
http:# port for http, default is 80. If https enabled, this port will redirect to https portport: 80# 這里不使用 HTTPS,暫時注釋(建議生產使用HTTPS)
#https:# https port for harbor, default is 443#port: 443# The path of cert and key files for nginx#certificate: /your/certificate/path#private_key: /your/private/key/path# 配置 Harbor 管理員初始密碼,默認用戶名/密碼是 admin/Harbor12345
harbor_admin_password: Harbor12345
1.2.3 配置 Docker 信任非 HTTPS 倉庫
(1)編輯 Docker 配置文件,添加 Harbor 地址到信任列表
vi /etc/docker/daemon.json
添加內容如下:?
{"insecure-registries": ["192.168.56.103:80"]
}
(2)重啟 Docker 服務
# 重新加載 docker 配置文件
systemctl daemon-reload
# 重啟 docker
systemctl restart docker
1.2.4 啟動 Harbor
# 修改了harbor.yml配置文件,需重新應用配置
./prepare
# 啟動
./install.sh
出現以下內容,說明重新應用配置成功:?
出現以下內容,說明 Harbor 啟動成功:
1.2.5 停止啟動 Harbor 命令
# 停止 Harbor
docker-compose down
# 啟動 Harbor(-d 表示后臺運行)
docker-compose up -d
1.2.6 查看 Harbor 服務狀態
docker-compose ps
1.2.7 創建一個新的項目
(1)瀏覽器訪問?http://192.168.56.103:80/?并使用默認管理員用戶/密碼 admin/Harbor12345 登錄 Harbor UI 界面;
(2)輸入用戶名/密碼登錄后,點擊 新建項目。
(3)填寫項目名稱,項目配額限制為-1表示沒有上限。
1.2.8 上傳鏡像到 Harbor
(1)Docker 登錄 Harbor
docker login http://192.168.56.103:80# 或docker login -u admin -p Harbor12345 http://192.168.56.103:80
(2) 將鏡像打標簽
# 格式:docker tag 鏡像:標簽 倉庫IP/項目名稱/鏡像名:標簽
docker tag mysql:5.6 192.168.56.103:80/gulimall/mysql:5.6
(3)上傳鏡像到 Harbor
docker push 192.168.56.103:80/gulimall/mysql:5.6