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