云計(jì)算核心技術(shù)Docker教程:使用harbor搭建私有鏡像倉(cāng)庫(kù)
之前介紹的docker搭建私有鏡像倉(cāng)庫(kù)是使用的官方提供的私有倉(cāng)庫(kù)registry,安裝使用雖然簡(jiǎn)單,但在管理的功能上存在不足。Harbor是一個(gè)用于存儲(chǔ)和分發(fā)Docker鏡像的企業(yè)級(jí)Registry服務(wù)器,作為一個(gè)企業(yè)級(jí)私有Registry服務(wù)器,Harbor提供了更好的性能和安全。Harbor是由VMware公司開(kāi)源的企業(yè)級(jí)的Docker Registry管理項(xiàng)目,它包括權(quán)限管理(RBAC)、LDAP、日志審核、管理界面、自我注冊(cè)、鏡像復(fù)制和中文支持等功能。
1.安裝Harbor主機(jī)環(huán)境及安裝要求
安裝Harbor之前需要首先安裝docker-compose、docker以及python2.7,docker和docker-compose的安裝之前文章已經(jīng)介紹過(guò)就不在重復(fù),安裝完成這些后就可以進(jìn)行Harbor的正式安裝。
harbor有兩個(gè)版本,分別為offline(離線)和online(在線),離線的安裝包比較大,后續(xù)安裝會(huì)相對(duì)快一點(diǎn),在線的安裝包比較下,但是后續(xù)安裝會(huì)比較慢,這里我們選擇離線安裝
下載地址:https://github.com/goharbor/harbor/releases
這里我們使用1.7的版本演示
下載下來(lái)之后解壓縮,目錄下會(huì)有harbor.conf,就是Harbor的配置文件了。
2.配置harbor
Harbor的配置文件如下:
## Configuration file of Harbor
# hostname設(shè)置訪問(wèn)地址,可以使用ip、域名,不可以設(shè)置為127.0.0.1或localhost
hostname = 192.168.1.33
# 訪問(wèn)協(xié)議,默認(rèn)是http,也可以設(shè)置https,如果設(shè)置https,則nginx ssl需要設(shè)置on
ui_url_protocol = http
# mysql數(shù)據(jù)庫(kù)root用戶默認(rèn)密碼root123,實(shí)際使用時(shí)修改下
db_password = root123
max_job_workers = 3
customize_crt = on
ssl_cert = /data/cert/server.crt
ssl_cert_key = /data/cert/server.key
secretkey_path = /data
admiral_url = NA
# 郵件設(shè)置,發(fā)送重置密碼郵件時(shí)使用
email_identity =
email_server = smtp.mydomain.com
email_server_port = 25
email_username = sample_admin@mydomain.com
email_password = abc
email_from = admin
email_ssl = false
# 啟動(dòng)Harbor后,管理員UI登錄的密碼,默認(rèn)是Harbor12345
harbor_admin_password = Harbor12345
# 認(rèn)證方式,這里支持多種認(rèn)證方式,如LADP、本次存儲(chǔ)、數(shù)據(jù)庫(kù)認(rèn)證。默認(rèn)是db_auth,mysql數(shù)據(jù)庫(kù)認(rèn)證
auth_mode = db_auth
# LDAP認(rèn)證時(shí)配置項(xiàng)
#ldap_url = ldaps://ldap.mydomain.com
#ldap_searchdn = uid=searchuser,ou=people,dc=mydomain,dc=com
#ldap_search_pwd = password
#ldap_basedn = ou=people,dc=mydomain,dc=com
#ldap_filter = (objectClass=person)
#ldap_uid = uid
#ldap_scope = 3
#ldap_timeout = 5
# 是否開(kāi)啟自注冊(cè)
self_registration = on
# Token有效時(shí)間,默認(rèn)30分鐘
token_expiration = 30
# 用戶創(chuàng)建項(xiàng)目權(quán)限控制,默認(rèn)是everyone(所有人),也可以設(shè)置為adminonly(只能管理員)
project_creation_restriction = everyone
verify_remote_cert = on
配置完成之后再當(dāng)前目錄下執(zhí)行./prepare,再執(zhí)行./install.sh。Harbor就回根據(jù)當(dāng)前目錄下的docker-compose.yml下載依賴的鏡像。
3.啟動(dòng)Harbor
安裝完成之后,打開(kāi)瀏覽器訪問(wèn)你上邊配置的hostname屬性,就能看到Harbor的界面了。
賬號(hào)默認(rèn)是admin,密碼默認(rèn)Harbor12345
默認(rèn)安裝后會(huì)自動(dòng)創(chuàng)建一個(gè)名稱為library的項(xiàng)目,且訪問(wèn)級(jí)別為公開(kāi)(表示任何人可讀,即任何人都可以下載該項(xiàng)目中的鏡像)