Harbor 搭建

klvchen發表於2018-08-15

環境: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

相關文章