您好,登錄后才能下訂單哦!
這篇文章主要介紹企業級Docker Registry開源工具Harbor怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
將學習到怎樣使用Harbor去完成以下任務:
管理你的項目
管理一個項目中的成員
同步一個項目中的registry到遠端的registry
檢索項目和鏡像源
如果你是系統管理員,可以學習如何管理你的Harbor系統:
管理用戶
管理目標鏡像
管理同步策略(多個registry之間的鏡像同步)
使用docker客戶端程序上傳下載鏡像文件(docker pull/push images)
刪除倉庫和鏡像文件
##基于角色的訪問控制 RBAC (Role Based Access Control)在Harbor中被支持,目前會支持四種具有不同權限的角色:
游客: 游客角色只對一個指定的項目有只讀
權限。
開發者: 開發者對一個項目具有讀寫
權限
項目管理員: 當創建一個新項目的時候,該用戶將被自動分配為項目管理員
的角色去管理整個項目。除過讀寫
特權之外,項目管理員也有其他方面的管理特權,比如添加和移除項目成員。
系統管理員: 系統管理員
有著最大的權限,也就是系統默認的admin用戶。 除了上述提到權限之外,系統管理員
也有所有的項目權限,并且可以將一個普通用戶提升成管理員,同時也可以刪除用戶。系統默認的公開項目library
也屬于系統管理員。
匿名用戶: 當一個用戶沒有登錄的時候,該用戶就被認為匿名用戶。任何一個匿名用戶都無法訪問私有的項目,并且對所有的公開項目有只讀
權限。
##用戶賬戶 作為一個用戶,可以通過自注冊程序去注冊一個賬戶。用戶名和郵箱地址必須在Harbor中唯一。密碼必須包含至少7個字符,其中必須包含一個大寫一個小寫以及一個數字字符。
如果管理員已經配置了LDAP/AD作為用戶認證源,注冊一步可以可以忽略的。LDAP/AD的用戶id可以被用來直接登錄Harbor。
如果你忘記了自己的密碼,可以通過以下步驟進行重置密碼:
在登錄頁面點擊忘記密碼
輸入注冊時候填寫的郵件地址,郵箱將會收到一封修改密碼的郵件
接受到郵件后,點擊郵件里面的鏈接將跳轉到密碼重置頁面
輸入新密碼后點擊提交即可
##管理項目 在Harbor中的一個項目包含一個應用的所有倉庫.RBAC(基于角色的權限控制)被應用在一個項目中。在Harbor中分為兩種項目公開
和私有
:
Public: 所有用戶對于公開項目都有讀權限,這種方式對于你想把一些倉庫分享給其他人的時候,是非常方便的.
Private: 私有項目只能被有特定用戶權限的人去訪問。這種方式對于內部團隊來說共享也是比較方便的。
在你登錄Harbor之后就可以創建項目。點擊"Public"復選框將使該項目變成公開項目。
項目被創建之后,用戶就可以瀏覽倉庫,用戶以及使用導航標簽的一些日志。
所有的操作日志將被通過點擊日志
列出來,你可以通過高級搜索中用戶名,操作以及日期去搜索相關操作日志:
##管理項目成員 ###添加成員 你可以使用不同的角色去添加成員到已經存在的項目。
###更新和移除項目成員 你可以通過點擊編輯和刪除按鈕來更新和移除成員。
##鏡像復制 如果你是系統管理員,你可以將倉庫中的鏡像文件同步到遠端的registry(也就是你的目標Harbor) , 目前只有Harbor實例才支持作為一個目標倉庫。因此,要使用鏡像復制功能,必須將Harbor在遠端重新部署一份
注意: 該鏡像復制功能在Harbor 0.3.5之前和和0.3.5版本之后是不兼容的。
在項目主頁點擊復制
,并點擊新增策略
來進行添加鏡像復制策略。目標URL即為遠端的鏡像中心
測試連接成功之后就可以點擊確定進行鏡像復制:
可以看到該復制任務正在進行,并且顯示當前復制的相關信息。底部會顯示該項目的整個復制進度,以及每個倉庫復制的信息。
點擊右邊的日志可以查看每個倉庫鏡像同步的信息詳情。
復制完成之后就可以在遠端Harbor中看到已經同步過去的項目以及鏡像文件。
##檢索項目和鏡像倉庫 在頂部搜索框中輸入一個關鍵字并查詢會列出所有匹配的項目和鏡像倉庫信息。搜索結果包含所有你有權限訪問的私有和公開鏡像。
##管理員選項 ###管理用戶 管理員可以添加管理員
角色給普通用戶,以提升權限,當然也可以刪除某個用戶。
###管理目標(遠端Harbor) 用戶可以在管理員選項下
的目標
按鈕下列出,添加和刪除復制策略,以及修改目標Harbor。只有那些不被任何策略引用的目的Harbor才能被修改編輯。
###管理復制 用戶可以在管理員選項下
的復制
按鈕下列出,編輯和啟用或者禁止策略。再編輯策略之前需要確認策略已經被禁掉。
##使用Docker 客戶端命令進行pull和push鏡像(下載和上傳鏡像)
注意: Harbor只支持Registry V2的API,因此你的docker客戶端版本必須在1.6.0以上才行。
Harbor默認支持的是HTTP,但是Docker客戶端默認會使用HTTPS去連接鏡像倉庫,因此當你pull或push鏡像的時候出現以下錯誤提示:
FATA[0002] Error: Invalid registry endpoint https://localhost.com:5000/v1/: Get https://localhost.com:5000/v1/_ping: EOF. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add `--insecure-registry localhost.com:5000` to the daemon's arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/localhost.com:5000/ca.crt
你只需要在Docker daemon的啟動配置中加入以下參數就可以使用了。 --insecure-registry ip:port(regirsty的地址)
在Ubuntu系列中默認配置文件在/etc/default/docker
。 在Centos系列中默認配置文件在/etc/sysconfig/docker
配置示例:
在HTTPS情況下,你需要能夠訪問registry的CA證書就行,不需要配置額外的參數,一般的證書地址會放在以下位置。 /etc/docker/certs.d/myregistrydomain.com:5000/ca.crt
###下載鏡像文件(docker pull images) 如果項目中的鏡像文件是私有的,那么首先先登錄再去下載:
$ docker login 172.25.47.67
$ docker pull 172.25.47.67/pandora/pandora-redis:latest
注意: 用戶在操作的時候,只需要替換上面的ip地址為harbor.cfg中配置的hostname(域名或者ip).
###上傳鏡像(docker push images) 在上傳鏡像之前,必須先在Harbor的web界面上創建一個對應的項目,因為鏡像上傳上去是存儲在對應項目中的。
首先,先使用docker client 登錄: 用戶名密碼為Harbor上面設置的用戶/密碼,并且相應的權限和項目是一一對應的,你的用戶也只能上傳屬于你自己項目的鏡像。
$ docker login 172.25.47.67
給鏡像打tag:
$ docker tag ubuntu:14.04 172.25.47.67/pandora/ubuntu:14.04
上傳鏡像:
$ docker push 172.25.47.67/pandora/ubuntu:14.04
注意: 用戶在操作的時候,只需要替換上面的ip地址為harbor.cfg中配置的hostname(域名或者ip).
##刪除鏡像倉庫
鏡像倉庫的刪除需要執行兩步操作:
首先,在Harbor的web界面上刪除一個鏡像倉庫,這是一個軟刪除,Harbor將不會再管理這個倉庫,但是倉庫中的鏡像都還是會在registry中存放(Harbor的存儲中)。
注意: 如果tagA和tagB都指向相同的image,在刪除tagA之后,tagB也會被刪除。
接下來,使用registry的垃圾回收機制( garbage collection(GC))去刪除文件.在操作GC之前需要確定沒有人正在上傳鏡像或者Harbor沒有運行。如果當GC正在運行中的時候有人正在push鏡像,那么會有一些鏡像層(images layers)錯誤刪除的風險。因此,在運行GC之前,比較推薦的做法是先停掉Harbor。
在部署Harbor的主機上運行以下命令,可以預覽到收到影響的文件或者鏡像。
$ docker-compose stop $ docker run -it --name gc --rm --volumes-from deploy_registry_1 registry:2.5.0 garbage-collect --dry-run /etc/registry/config.yml
注意: 上面的參數"--dry-run" 將會打印刪除的進度 驗證完刪除的測試之后,可以使用下面的命令進行GC回收,并且重啟Harbor。
$ docker run -it --name gc --rm --volumes-from deploy_registry_1 registry:2.5.0 garbage-collect /etc/registry/config.yml $ docker-compose start
以上是“企業級Docker Registry開源工具Harbor怎么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。