Docker私有倉庫的部署

1、Harbor

Harbor 是 VMware 公司開源的企業級 Docker Registry 項目:
(1)Harbor 的優點:nginx

基於角色控制;
基於鏡像的複製策略;
支持 LDAP / AD;
圖像刪除和垃圾收集;
圖形 UI;
審計;
RESTful API;web

(2)Harbor 架構組成:
一、Proxy:經過一個前置的反向代理統一接受瀏覽器,Docker客戶端的請求,並將請求轉發給後端不一樣的服務。
二、Registry:負責存儲 Docker 鏡像,並處理 docker push/pull 命令。
三、Core services:Harbor的核心功能,包括 UI、webhook、token 服務。
四、Database:爲 core services 提供數據庫服務。
五、Log collector:負責收集其餘組件的 log,供往後進行分析。
Docker私有倉庫的部署docker

2、私有倉庫的優勢:

其實,私有庫的鏡像最原始來源仍是從公庫中下載的,可是企業公司中爲何不都直接使用公庫下載須要的鏡像呢,容許使用 registry 搭建本地私有倉庫,具有這些公庫不具有的優勢:
一、節省網絡帶寬,針對於每一個鏡像不用每一個人都去中央倉庫上面去下載,只須要從私有倉庫中下載便可;
二、提供鏡像資源利用,針對於公司內部使用的鏡像,推送到本地的私有倉庫中,以供公司內部相關人員使用。
接下來,具有來搭建一下 docker私有倉庫:
Docker私有倉庫的部署
(1)安裝相關軟件包:數據庫

安裝 harbor:
[root@localhost abc]# tar zvxf harbor-offline-installer-v1.2.2.tgz -C /usr/local/
安裝 docker-compose:
[root@localhost abc]# cp docker-compose /usr/bin/
//將docker-compose 複製到/bin/目錄下,系統識別後,就能夠直接使用 docker-compose命令了。

(2)修改 harbor.cfg 配置文件:
Docker私有倉庫的部署
(3)啓動後端

[root@localhost local]# cd harbor/
[root@localhost harbor]# ls
common                     docker-compose.yml     harbor.v1.2.2.tar.gz  NOTICE
docker-compose.clair.yml   harbor_1_1_0_template  install.sh            prepare
docker-compose.notary.yml  harbor.cfg             LICENSE               upgrade
[root@localhost harbor]# sh /usr/local/harbor/install.sh   //開啓

Docker私有倉庫的部署
(4)查看鏡像和容器是否都已啓動:瀏覽器

docker images      //查看鏡像
docker ps -a       //查看容器
docker-compose ps  //查看容器

Docker私有倉庫的部署
(5)驗證:用瀏覽器訪問 192.168.220.131
用戶名和密碼等信息能夠在 harbor.cfg 這個文件中,均可以查詢到,若是不修改,默認的爲:
用戶名:admin
密 碼:Harbor12345
Docker私有倉庫的部署
(6)手動建立鏡像(點擊 「+項目」):建立一個名爲 myproject-kgc 的項目:
Docker私有倉庫的部署
(7)鏡像建立好以後,回到控制檯,能夠經過 docker 命令在本地經過 127.0.0.1 來登陸和推送鏡像:網絡

docker login -u admin -p Harbor12345 http://127.0.0.1

(8)從公庫中下載一個鏡像再上傳到私庫中架構

[root@localhost harbor]# docker pull cirros    //下載鏡像
[root@localhost harbor]# docker tag cirros 127.0.0.1/myproject-kgc/cirros:v1   //鏡像更換標籤

Docker私有倉庫的部署
(9)將剛剛打好標籤的鏡像上傳到私庫中ide

[root@localhost harbor]# docker push 127.0.0.1/myproject-kgc/cirros

Docker私有倉庫的部署
(10)上傳好以後,咱們就能夠在 Harbor 中看到這個鏡像了:
Docker私有倉庫的部署
(11)再打開一臺虛擬機,做爲客戶端,鏈接 Harbor ,來上傳和下載鏡像:
一、首先要修改 /usr/lib/systemd/system/docker.service 配置文件,關聯上私庫,添加如下代碼(必定要添加,不然會出現報錯):
3d

--insecure-registry 192.168.220.131

Docker私有倉庫的部署
二、加載

systemctl daemon-reload    //重載
systemctl restart docker   //重啓

三、登陸

docker login -u admin -p Harbor12345 http://192.168.220.131

Docker私有倉庫的部署
四、如今咱們能夠在這臺客戶機上下載私庫中已經有的鏡像:

docker pull 192.168.220.131/myproject-kgc/cirros:v1

Docker私有倉庫的部署
五、或者從公庫中下載一個鏡像,再打標籤,上傳到私庫中:

[root@localhost ~]# docker pull cirros
[root@localhost ~]# docker tag cirros:latest 192.168.220.131/myproject-kgc/cirros:v2
[root@localhost ~]# docker push 192.168.220.131/myproject-kgc/cirros:v2

Docker私有倉庫的部署
六、此時,Harbor 中能夠發現,又多了一個新上傳的鏡像:
Docker私有倉庫的部署
七、咱們也能夠將咱們經常使用的鏡像下載下來,打好標籤上傳到私庫中:

[root@localhost ~]# docker pull nginx
[root@localhost ~]# docker tag nginx:latest 192.168.220.131/myproject-kgc/nginx:v1
[root@localhost ~]# docker push 192.168.220.131/myproject-kgc/nginx:v1

八、此時,Harbor 就會多出一個新鏡像:
Docker私有倉庫的部署

3、管理私庫:

[root@localhost harbor]# docker-compose down -v       //關閉全部容器

Docker私有倉庫的部署

[root@localhost harbor]# docker-compose up -d

Docker私有倉庫的部署
添加用戶:用戶管理 -----> 建立用戶 (注意密碼須要大寫+小寫)
Docker私有倉庫的部署

[root@localhost ~]# docker logout http://192.168.220.131
[root@localhost ~]# docker login http://192.168.220.131

Docker私有倉庫的部署

相關文章
相關標籤/搜索