Harbor 鏡像倉(cāng)庫(kù)部署
0x01、下載安裝
官方地址:
https://github.com/goharbor/harbor/releases
下載離線安裝包:需要翻墻
# wget https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.0.tgz
# yum -y install lrzsz
安裝compose
# curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
# tar xf harbor-offline-installer-v1.8.0.tgz
配置harbor
# cd harbor
# vim harbor.yml // 主機(jī)名要可以解析(需要部署dns服務(wù)器,用/etc/hosts文件沒有用),如果不可以解析,可以使用IP地址,需要修改的內(nèi)容如下
hostname = 192.168.1.200
ui_url_protocol = https(如果要用https這里就需要改,現(xiàn)在我們先不用https,這里不需要改)
# ./install.sh瀏覽器訪問測(cè)試:http://192.168.1.200


創(chuàng)建倉(cāng)庫(kù)


創(chuàng)建賬戶


項(xiàng)目授權(quán)


0x02、測(cè)試Harbor
上傳測(cè)試
[[email protected] ~]# vim /etc/docker/daemon.json
{ "insecure-registries":["172.21.39.43:80"] }
[root@jenkins ~]# docker login 172.21.39.43:80
Username: wing
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest be1f31be9a87 13 days ago 109MB
# docker image tag nginx 172.21.39.43:80/jenkins/nginx:v0
# docker push 172.21.39.43:80/jenkins/nginx:v0
The push refers to repository [harbor.io/library/nginx]
92b86b4e7957: Pushed
94ad191a291b: Pushed
8b15606a9e3e: Pushed
latest: digest: sha256:204a9a8e65061b10b92ad361dd6f406248404fe60efd5d6a8f2595f18bb37aad size: 948
在web界面中查看鏡像是否被上傳到倉(cāng)庫(kù)中如何重啟harbor
# docker-compose down
# vim harbor.yml
# ./prepare
# docker-compose up -d【擴(kuò)展】重置Harbor登陸密碼
harbor現(xiàn)使用postgresql 數(shù)據(jù)庫(kù)。不再支持mysql
注:
卸載重新重新安裝也不可以,原因是沒有刪除harbor的數(shù)據(jù),harbor數(shù)據(jù)在/data/目錄下邊,如果真要重新安裝需要將這個(gè)也刪除,備份或者遷移,請(qǐng)使用這個(gè)目錄的數(shù)據(jù)。
harbor版本為:1.8.0
官方的安裝包為:harbor-offline-installer-v1.8.0.tgz
具體步驟:
1、進(jìn)入[harbor-db]容器內(nèi)部
# docker exec -it harbor-db /bin/bash
2、進(jìn)入postgresql命令行,
psql -h postgresql -d postgres -U postgres #這里要輸入默認(rèn)密碼:root123 。
psql -U postgres -d postgres -h 127.0.0.1 -p 5432 #或者用這個(gè)可以不輸入密碼。
3、切換到harbor所在的數(shù)據(jù)庫(kù)
# \c registry
4、查看harbor_user表
# select * from harbor_user;
5、例如修改admin的密碼,修改為初始化密碼Harbor12345 ,修改好了之后再可以從web ui上再改一次。
# update harbor_user set password='a71a7d0df981a61cbb53a97ed8d78f3e', salt='ah3fdh5b7yxepalg9z45bu8zb36sszmr' where username='admin';
6、退出 \q 退出postgresql,exit退出容器。
# \q
# exit
完成后通過WEB UI,就可以使用admin 、Harbor12345 這個(gè)密碼登錄了,記得修改這個(gè)默認(rèn)密碼哦,避免安全問題。
有更加狠點(diǎn)的招數(shù),將admin賬戶改成別的名字,減少被攻擊面:
# update harbor_user set username='wing' where user_id=1; #更改admin用戶名為wing
0x03、Harbor權(quán)限相關(guān)
harbor倉(cāng)庫(kù)的權(quán)限得配置一下,不然curl命令訪問不到


喜歡,在看
評(píng)論
圖片
表情
