前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker 仓库 Harbor

Docker 仓库 Harbor

作者头像
用户1560186
发布2019-11-19 21:34:12
9030
发布2019-11-19 21:34:12
举报
文章被收录于专栏:运维录运维录


之前写过两篇关于Docker仓库的文章,把Docker镜像装到仓库需要几步?没有Docker仓库还能分发镜像吗?

今天讲讲如何部署一个私有仓库,主角是大名鼎鼎的 VMware开源项目 Harbor,VMware公司估计大家都有所耳闻,做为虚拟化界的一哥VMware技术实力雄厚并拥有广泛的用户群体,企业级产品vSphere ESXi,家用级别的Workstation 都是其代表作。

Harbor从2014年开始由VMware中国研发中心内部立项和使用,并于2016年对社区开源,2018年8月Harbor加入云原生计算基金会(CNCF),Harbor项目扎根、成长于中国社区深受中国用户喜爱。

Harbor版本更新较快目前最新稳定版本V1.82,如需下载最新版本或者提交Issue 可以在github 中找到项目。https://github.com/goharbor/harbor

目前还在使用的 v1.4.0版本 harbor仓库。


一些概念

1. 镜像仓库

是集中存放docker镜像的地方。例如镜像地址 hub.zongming.net/dongnan/centos:6.7

代码语言:javascript
复制
    hub.zongming.net 是注册服务器(registry)
    dongnan 是仓库(用户)名称,
    centos 是镜像名称,
    :6.7 是镜像版本号。

注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,每个仓库下面有多个镜像,而每个镜像有多个标签

2. 公共仓库

Docker 官方维护了一个公共仓库 Docker Hub (https://hub.docker.com),其中已经包括了超过 15000的镜像(2016年)。大部分需求都可以通过在 Docker Hub中找到。

3. 私有仓库

某些时候使用 Docker Hub公共仓库可能不方便(如含有源代码的自定义python镜像),Docker官方提供了docker-registry工具,用于创建一个私有仓库,不过docker-registry 在易用性、功能等方面远不如 Harbor。


Harbor 支持在Docker环境下部署。

1. 环境要求

代码语言:javascript
复制
Linux 系统,推荐 ubuntu server 16.04+ 或更高的LTS版本。
docker 17.06.0-ce+ ,推荐使用最新的稳定版本。
docker-compose 1.23.0+ ,推荐使用最新的稳定版本。
如果没有安装docker 可以参考这篇文章
https://docs.docker.com/install/linux/docker-ce/ubuntu/
如果没有安装docker-compose 可以参考这篇文章
 https://docs.docker.com/compose/install/

2. 部署方式

由于Harbor包含多个镜像,部署过程中可能会遇到网络超时问题,推荐使用离线安装方式。

以v1.8.2版本为例离线安装包下载地址

https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.2.tgz

3. 配置选项

代码语言:javascript
复制
tar zxf harbor-offline-installer-v1.8.2.tgz
cd harbor/
vim harbor.cfg

配置文件的参数分为两部分,必选参数与可选参数

a. 必选参数:

代码语言:javascript
复制
    hostname: 主机名(域名)。
    data_volume: harbor数据卷目录。
    harbor_admin_password: 管理员的账号密码。
  database:
      password: 数据库root用户的密码
  jobservice:
      max_job_workers: 最大进程数量,默认值为10 选则默认值。
  log:
      日志级别,日志轮转,日志大小,日志位置,等选项保持默认即可。

b. 可选参数:

代码语言:javascript
复制
    需要注意的是如果你使用 HTTPS那么需要配置
    https:     取消注释
    port: 443  取消注释
    certificate: 取消注释以及你的crt证书文件
    private_key: 取消注释以及你的key私钥文件

我的https配置示例如下。

代码语言:javascript
复制
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

4. 执行shell脚本自动开始安装

5. 部署完成


部署完成后就可以使用harbor了。

1. 在浏览器输入你的仓库地址

2. 登录后尝试创建一个项目例如 demo

3. 实践作业

部署好的Harbor仓库后,尝试为创建好的项目demo 推送一个镜像,并在其它的docker主机上下载此镜像。

推送镜像完成后类似如下

提示,登录仓库、推送镜像、下载镜像可以参考这篇文章 把Docker镜像装到仓库需要几步?


代码语言:javascript
复制
本期搬砖就到这里下期再搬
本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-29,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 运维录 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com