Docker——Harbor私有仓库部署与管理

Harbor私有仓库

  • 一、Harbor
    • 1.2 Harbor简介
    • 1.2 Harbor的特性
    • 1.3 Harbor的简易架构
    • 1.4 Harbor配置文件参数
  • 二、模拟实验
    • 2.1 Harbor服务器配置
    • 2.2 客户端测试
    • 2.3 Harbor 私有仓库的维护与管理
    • 2.4 迁移Harbor数据

一、Harbor

1.2 Harbor简介

Harbor是VMware公司的开源级的企业级DockerRegistry(仓库)项目,项目地址为 https://github.com/vmware/harbor.
Harbor的目标是帮助用户迅速搭建一个企业级的DockerRegistry服务。
Harbor以docker公司开源的registry为基础,提供了管理UI,基于角色的访问控制(Role Based Access Control),AD/LDAP集成,以及审计日志(Auditlogging)等企业用户需求的功能,同时还原生支持中文。
Harbor的每个组件都是以Docker容器的形式构建的,使用docker-compose来对它进行部署。用于部署Harbor的docker-compose模板位于/usr/local/bin/harbor/docker-compose.yml(自定义)

1.2 Harbor的特性

  • 基于角色控制:用户与Docker镜像仓库通过"项目"进行组织管理,一个用户可以对多个镜像仓库在统一命名空间(projec)里有不同的权限
  • 图形化用户界面:用户可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间
  • 审计管理:所有这怒地镜像仓库的错都可以被记录追溯,用于审计管理
  • 基于镜像的复制策略:镜像可以在多个Harbor实例之间进行复制。
  • 支持LDAP认证:Harbor的用户授权可以使用已经存在的用户。
  • 镜像删除和垃圾回收:image可以被删除并且回收image占用的空间。
  • 简单的部署功能:harbor提供了online、offline安装,此外还提供了virtualappliance安装
  • harbor和docker registry的关系:harbor实质上是对docker registry做了封装,扩展了自己的业务模板。

1.3 Harbor的简易架构

harbor主要有6大模块,默认的每个harbor的组件都被封装成一个docker container,所以可以通过compose来部署harbor,总共分为8个容器运行,通过docker-compose ps来查看
Docker——Harbor私有仓库部署与管理_第1张图片

  • Proxy: Harbor的registry、UI、token services等组件,都处在一个反向代理后边。该代理将来自浏览器、docker clients的请求转发到后端服务上。
  • Registry: 负责存储Docker镜像,以及处理Docker push/pull请求。因为Harbor强制要求对镜像的访问做权限控制, 在每一次push/pull请求时,Registry会强制要求客户端从token service那里获得一个有效的token。
  • Core services: Harbor的核心功能,主要包括如下3个服务:
  • UI: 作为Registry Webhook, 以图像用户界面的方式辅助用户管理镜像。
    - WebHook是在registry中配置的一种机制, 当registry中镜像发生改变时,就可以通知到Harbor的webhook endpoint。Harbor使用webhook来更新日志、初始化同步job等。
    - Token service会根据该用户在一个工程中的角色,为每一次的push/pull请求分配对应的token。假如相应的请求并没有包含token的话,registry会将该请求重定向到token service。
    - Database 用于存放工程元数据、用户数据、角色数据、同步策略以及镜像元数据。
  • Job services: 主要用于镜像复制,本地镜像可以被同步到远程Harbor实例上。
  • Log collector: 负责收集其他模块的日志到一个地方

1.4 Harbor配置文件参数

vim

你可能感兴趣的:(Docker,docker,nginx,linux,数据库,harbor)