Docker 仓库 Harbor
开始之前
之前写过两篇关于Docker仓库的文章,把Docker镜像装到仓库需要几步? 与 没有Docker仓库还能分发镜像吗?,今天讲讲如何部署一个私有仓库,主角是大名鼎鼎的 VMware开源项目 Harbor,VMware公司估计大家都有所耳闻,做为虚拟化界的一哥VMware技术实力雄厚并拥有广泛的用户群体,企业级产品vSphere ESXi,家用级别的Workstation 都是其代表作。
Harbor从2014年开始由VMware中国研发中心内部立项和使用,并于2016年对社区开源,2018年8月Harbor加入云原生计算基金会(CNCF),Harbor项目扎根于中国社区,因此深受中国用户喜爱。
Harbor版本更新较快目前最新稳定版本V1.82,如需下载最新版本或者提交Issue 可以在github 中找到项目。
目前在使用的还是 v1.4.0版本 harbor仓库。
一些概念
- 镜像仓库
是集中存放docker镜像的地方。例如镜像地址 hub.zongming.net/dongnan/centos:6.7
hub.zongming.net 是注册服务器(registry)
dongnan 是仓库(用户)名称,
centos 是镜像名称,
:6.7 是镜像版本号。
注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,每个仓库下面有多个镜像,而每个镜像有多个标签。 - 公共仓库
Docker 官方维护了一个公共仓库 Docker Hub,其中已经包括了超过 15000的镜像(2016年)。大部分需求都可以通过在 Docker Hub中找到。 - 私有仓库
某些时候使用 Docker Hub公共仓库可能不方便(如含有业务源代码的python镜像),Docker官方提供了docker-registry工具,用于创建一个私有仓库,不过docker-registry 在易用xing、功能xing等方面远不如 Harbor。
部署
Harbor 支持在Docker环境下部署。
环境要求
Linux 系统,推荐 ubuntu server 16.04+ 或更高的LTS版本。
docker 17.06.0-ce+ ,推荐使用最新的稳定版本。
docker-compose 1.23.0+ ,推荐使用最新的稳定版本。
如果没有安装docker 可以参考这篇文章
如果没有安装docker-compose 可以参考" rel="nofollow">这篇文章部署方式
由于Harbor包含多个镜像,部署过程中可能会遇到网络超时问题,推荐使用离线安装方式。以v1.8.2版本为例离线安装包下载地址
配置选项
tar zxf harbor-offline-installer-v1.8.2.tgzcd harbor/vim harbor.cfg
配置文件的参数分为两部分,必选参数与可选参数。
- 其中必选参数包括:
hostname: 主机名,这里选择使用真实域名。 data_volume: harbor数据卷目录。 harbor_admin_password: 管理员的账号密码。 database: password: 数据库root用户的密码 jobservice: max_job_workers: 最大进程数量,默认值为10 我选则默认值。 log: 日志级别,日志轮转,日志大小,日志位置,等选项保持默认即可。
- 可选参数
需要注意的是如果你使用 HTTPS那么需要配置 https: 取消注释 port: 443 取消注释 certificate: 取消注释以及你的crt证书文件 private_key: 取消注释以及你的key私钥文件
- 我的https配置示例如下。
https:# # https port for harbor, default is 443 port: 443# # The path of cert and key files for nginx certificate: ./keys/server.crt private_key: ./keys/server.key
- 更多的参数配置可参考:
https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md
执行shell脚本自动开始安装
- 安装完成
使用
在浏览器输入你的仓库地址
登录后尝试创建一个项目例如 demo
最后留一个实践作业
部署好的Harbor仓库后,尝试为创建好的项目demo 推送一个镜像,并在其它的docker主机上下载此镜像。
提示,登录仓库、标记镜像、推送镜像、下载镜像可以参考 <<把Docker镜像装到仓库需要几步?>> 这篇文章。
参考
初识 docker 仓库 请添加链接描述
docker 配置远程仓库 请添加链接描述
系统信任自签名证书 请添加链接描述
用Harbor实现容器镜像仓库的管理和运维 请添加链接描述
部署 harbor 仓库请添加链接描述
https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md
doker&k8s Qun [703906133]