Registry用於保存docker鏡像,包括鏡像的層次結構和元數據。都是基於https或者http工做的。node
用戶可自建Registry,也可以使用官方的Docker Hub。nginx
分類:git
運行方式:安裝RPM包 -- docker-distribution;registry也被運行爲容器,docker官方有提供鏡像;使用harbor來構建本地私有registry。github
[root@oracle ~]# yum install docker-registry -y
[root@oracle ~]# rpm -ql docker-distribution
[root@oracle ~]# cat /etc/docker-distribution/registry/config.yml #配置文件,能夠更改監聽,鏡像存儲位置等
[root@oracle ~]# systemctl start docker-distribution
[root@oracle ~]# docker tag mynginx:v0.3-2 192.168.42.133:5000/mynginx:v0.3-2
[root@oracle ~]# docker push 192.168.42.133:5000/mynginx:v0.3-2 # 默認基於https工做,因此會報錯
[root@oracle ~]# vim /etc/docker/daemon.json
{ "registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"], "insecure-registries": ["192.168.42.133:5000"], "bip": "10.10.1.2/16" }
[root@oracle ~]# docker push 192.168.42.133:5000/mynginx:v0.3-2 #推送成功,默認放在/var/lib/registry/下
與常規運行容器相同,官方已提供鏡像(docker search registry)但因爲容器中數據隨容器的生命週期結束而丟失,因此咱們須要爲其提供專門的存儲卷。web
Harbor是一個企業級的倉庫應用程序,是VMWare在docker distribution的基礎上作的二次開發項目,提供了不少額外程序和Web界面。docker
Harbor官方爲了簡化安裝,把harbor作成了在容器中運行的應用。因爲harbor的運行依賴於MySQL、Redis等不少存儲系統,因此須要多個容器協同工做。所以須要使用docker的單機容器編排工具docker compose(yum info docker-compose,docker-compose可作的操做不少,有興趣官網瞭解)。數據庫
github:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md #去GitHub上下載部署文件json
[root@oracle ~]# yum install docker-compose -y [root@oracle soft]# tar xf harbor-offline-installer-v1.9.0.tgz [root@oracle soft]# mv harbor /usr/local/
[root@oracle harbor]# vim /usr/local/harbor/harbor.yml #按需修改配置文件,包括主機名,管理員初始密碼,數據庫初始密碼等,而後安裝
[root@oracle harbor]# ./install.sh
此時,瀏覽器訪問http://192.168.42.133/harbor/sign-in?redirect_url=%2Fharbor%2Fprojects,使用admin/Harbor12345登陸。vim
web頁面新建一個test項目,而後去推送鏡像到此倉庫,而後web頁面就能夠查看剛剛推送的鏡像了。瀏覽器
[root@node1 ~]# docker tag nginx:1.14-alpine node1.cmxu.com/test/nginx:apline [root@node1 ~]# docker login node1.cmxu.com [root@node1 ~]# docker push node1.cmxu.com/test/nginx:apline
# 重啓docker進程後,也須要重啓Harbor
[root@node1 ~]# docker-compose --help
[root@node1 ~]# docker-compose down
[root@node1 ~]# docker-compose up -d