1. 程式人生 > >docker 私有倉庫之Harbor搭建與使用

docker 私有倉庫之Harbor搭建與使用

login rbo scope entity 支持 bogon nal hub mtp

Harbor搭建

下載Harbor:

wget https://github.com/vmware/harbor/releases/

配置Harbor


tar xvf harbor-online-installer-v1.1.2.tgz
cd harbor

修改harbor.cnf內容如下:

# 訪問管理UI與註冊服務的IP地址或主機名,別使用localhost或127.0.0.1,因為Harbor需要被外部的客戶端訪問。
hostname = 10.10.10.11

# 訪問UI與token/notification服務的協議,默認為http。 如果在nginx中開啟了ssl,可以設置為https
ui_url_protocol
= http # 發送重置密碼的郵件賬號。 email_identity = Mail Config email_server = smtp.263.net email_server_port = 25 email_username = [email protected] email_password = abc email_from = admin <[email protected]> email_ssl = false ## Harbor初始化密碼,僅當第一次啟動Harbor時有效。在啟動Harhor之後失效。 # 從UI上修改管理員密碼。
harbor_admin_password
= Harbor12345 ## 默認情況下認證模式為db_auth,如:證書被存儲在本地的數據庫中。 # 如果想使用LDAP服務來做認證,則設置為ldap_auth。 auth_mode = db_auth # ldap的接入點url。 ldap_url = ldaps://ldap.mydomain.com # 有權限搜索LDAP/AD服務的用戶的DN(如:uid=admin,ou=people,dc=mydomain,dc=com)。如果LDAP/AD服務部支持匿名搜索,則需要配置這個DN與ldap_search_pwd。 #ldap_searchdn
= uid=searchuser,ou=people,dc=mydomain,dc=com #the password of the ldap_searchdn # 在ldap_searchdn配置的用戶的密碼。 #ldap_search_pwd = password #The base DN from which to look up a user in LDAP/AD # 查找用戶的最基礎的DN ldap_basedn = ou=people,dc=mydomain,dc=com # 查詢過濾器,用於查找用戶,確認過濾器語法是否正確。 #ldap_filter = (objectClass=person) # 在LDAP搜索時用於匹配用戶的屬性,可能是uid, cn, email,sAMAccountName或其他屬性取決於LDAP/AD。 ldap_uid = uid # 搜索用戶的範圍, 1-LDAP_SCOPE_BASE, 2-LDAP_SCOPE_ONELEVEL, 3-LDAP_SCOPE_SUBTREE ldap_scope = 3 # mysql中root用戶的密碼,在任何生產環境使用之前請修改。 db_password = root123 # 開啟或關閉自簽名特性 self_registration = on # 確認UI中的js文件是否進行壓縮。生產環境中,設置為on,開發環境中設置為off。 use_compressed_js = on # job服務中最大job workers數。 max_job_workers = 3 # 通過令牌服務生成的令牌有效時間(單位:分鐘),默認為30分鐘。 token_expiration = 30 # 確認當鏈接遠程倉庫時,job服務是否驗證ssl證書。 # 當遠程倉庫使用自簽名證書或不可信證書時,設置標簽為off。 verify_remote_cert = on # 確認是否為註冊令牌生成證書。 # 如果設置為on,prepare腳本將為正在生成的令牌生成新的根證書與私鑰用於訪問倉庫。如果設置為off,則必須提供一個用於生成令牌的證書與私鑰。 customize_crt = on # 證書組織的信息。 crt_country = CN crt_state = State crt_location = CN crt_organization = organization crt_organizationalunit = organizational unit crt_commonname = example.com crt_email = [email protected] # 此標簽用於控制哪些用戶具有創建項目的權限。 # 默認情況下為任何一個人,設置為"adminonly"後僅管理員可以創建項目。 project_creation_restriction = everyone # nginx需要的cert與key文件路徑,僅當協議設置為https時生效。 ssl_cert = /data/cert/server.crt ssl_cert_key = /data/cert/server.key

啟動

./prepare
docker-compose up -d

如果報如下錯誤信息

技術分享圖片

解決辦法:

pip install docker-compose
./install.sh

技術分享圖片

安裝成功如圖

技術分享圖片

但是docker login 10.10.10.11 時提示:

技術分享圖片

解決辦法:

修改/usr/lib/systemd/system/docker.service文件,
添加--insecure-registry 10.10.10.11

技術分享圖片

然後從新加載和重啟 docker

[root@bogon docker]# systemctl daemon-reload
[root@bogon docker]# systemctl status docker.service

技術分享圖片

測試:

技術分享圖片

build並啟動
docker-compose up -d 

harbor啟動與關閉命令:

docker-compose start
docker-compose stop

刪除harbor
docker-compose rm

Harbor使用


新建項目

技術分享圖片

技術分享圖片


本地先要pull下要上傳的鏡像進行tag打包

docker login 10.10.10.11
docker tag nginx 10.10.10.11/test/nginx
docker push 10.10.10.11/test/nginx

技術分享圖片

查看

技術分享圖片

docker 私有倉庫之Harbor搭建與使用