環境:centos7.4
docker-ce 18.06.0-ce
docker-compose version 1.18.0
harbor 版本: 1.5.2
harbor 安裝參考 https://github.com/goharbor/harbor/blob/v1.5.2/docs/installation_guide.md
安裝 docker
安裝 docker-compose
mkdir /iba/
cd /iba/
wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.5.2.tgz
tar xvf harbor-online-installer-v1.5.2.tgz
cd harbor
# 修改 hostname
vi harbor.cfg
hostname = harbor #注意: 這裡可以寫 IP地址,也可以寫域名,寫域名需確保 DNS 可以解析
# 新增 hosts
vi /etc/hosts
192.168.0.241 harbor
hostnamectl set-hostname harbor
# harbor 儲存資料預設是 /data 目錄(這個會自動建立),可以根據自身需要掛載一個單獨的分割槽在這個目錄下
# 啟動,同時啟用漏洞分析
./install.sh --with-clair
# 開放防火牆
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --reload
瀏覽器訪問
http://192.168.0.241
使用者名稱:admin
密碼:Harbor12345
# 可以執行如下的命令進行停止和啟動
cd /iba/software/harbor
# 停止
docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml down
# 啟動
docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml up -d
把映象上傳到 harbor 或下載
# 需要新增 insecure-registries 選項
vi /etc/docker/daemon.json
{
"insecure-registries": ["192.168.0.241"]
}
systemctl reload docker
# 檢查
docker info
# 如果 horbor 的倉庫不是公開的,需要登入(建議設定公開)
docker login -u admin -p Harbor12345 192.168.0.241
可在配置檔案 /root/.docker/config.json 檢視
# 打tag,這裡需要注意: klvchen 是 Harbor 新建的專案名稱。原有的專案為 library
docker tag docker.io/centos:7.4.1708 192.168.0.241/klvchen/centos:7.4
docker push 192.168.0.241/klvchen/centos:7.4
刪除 horbor 映象,這裡分為兩步:
1.在 webui上先進行軟刪除
2.進行硬刪除,在跑這 harbor 的機器上執行
cd /iba/software/harbor
docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml stop
# 列印出來已刪除映象,但不進行空間釋放和垃圾回收
docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.2-photon garbage-collect --dry-run /etc/registry/config.yml
# 執行垃圾回收命令
docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.2-photon garbage-collect /etc/registry/config.yml
cd /iba/software/harbor
docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml start
錯誤參考
登入時遇到錯誤
[root@node1 ~]# docker login -u admin -p Harbor12345 192.168.0.241
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get http://192.168.0.241/v2/: Get http://harbor/service/token?account=admin&client_id=docker&offline_token=true&service=harbor-registry: dial tcp: lookup harbor on 114.114.114.114:53: no such host
解決辦法:
新增hosts
192.168.0.241 harbor