Docker Registry & Harbor
2019-03-07 本文已影响0人
萧何爱英语
What is Docker Registry
- Docker Registry:官方镜像存储、管理和分发工具
- 最新实现是 distribution,实现了 registry2.0 协议
- 官方仓库:hub.docker.com
启动一个 registry:
docer run -d -p 5000:5000 --restart=always --name registry registry:2
Features of Harbor(开源企业级镜像仓库)
VMware 中国团队开源的企业级镜像仓库项目,聚焦镜像仓库的企业级需求
- 支持基于角色的访问控制 RBAC
- 支持镜像复制策略(PUSH)
- 支持无用镜像数据的自动回收和删除
- 支持 LDAP/AD 认证
- Web UI
- 提供审计日志功能
- 提供 RESTful API,便于扩展
- 支持中文 & 部署 Easy
Harbor 架构分析
Harbor 组件介绍
- Nginx:负责请求转发,URL 以 /v2/ 开始的请求会被转发到 Docker Registry 中,其它请求由 Admin Server 处理;
- Admin Server:Harbor 的主体模块,提供 Web UI 和 RESTful API 以及 Auth 相关功能;
- Replication Service:提供多个 Harbor 实例之间的镜像同步功能;
- MySQL:Admin Server 和 Replication Service 所用到的数据库;
- Docker Registry:Docker 官方镜像仓库;
- Image Storage:镜像的存储介质,可以是本地磁盘,或者分布式存储,根据 Docker Registry 的配置而不同;
- Log Collector:通过 rsyslog 收集容器日志。
HA Solutions
落地实践:https://github.com/bigwhite/talks/tree/master/osc/2017
Pros and Cons
Solution1:基于共享存储 | Solution2:基于镜像复制 | |
---|---|---|
优点 | 标准方案,Scaling 好 数据实时一致 |
门槛低,搭建简便 |
不足 | 门槛高,需要具备现成的共享存储 搭建难度略高 |
Scaling 差,甚至是不能 镜像复制延迟,导致数据阶段性不一致 添加 Project 时,需手工维护复制规则 |