部署Harbor镜像仓库:详尽指南

部署Harbor镜像仓库:详尽指南

什么是Harbor?

Harbor是一个企业级的Docker镜像仓库,通过为镜像管理提供基于角色的访问控制、镜像复制策略、漏洞扫描和镜像签名等功能,来增强用户对镜像的管理和安全控制。Harbor旨在帮助企业用户更好地管理其镜像库,并提供高效、安全的镜像存储和分发服务。

Harbor的特性

  1. 基于角色的访问控制:提供细粒度的用户权限管理,确保只有授权用户才能访问特定的镜像。
  2. 镜像复制策略:支持在多个Harbor实例之间复制镜像,确保在多个数据中心之间的一致性。
  3. 漏洞扫描:集成了Clair漏洞扫描工具,自动扫描并报告镜像中的安全漏洞。
  4. 镜像签名:支持Notary镜像签名,确保镜像的真实性和完整性。
  5. 多租户支持:通过项目(Project)的方式,支持多租户使用。
  6. 审计日志:记录所有用户操作,便于追踪和审计。

Harbor的构成

Harbor主要由以下几个组件构成:

  1. Harbor核心(Core):负责处理各种核心功能,如用户管理、项目管理、镜像管理等。
  2. 数据库(Database):存储Harbor的配置信息和元数据。
  3. 镜像仓库(Registry):用于存储Docker镜像。
  4. 镜像复制控制器(Registry Controller):负责镜像复制任务。
  5. 日志服务(Log):收集并存储日志信息。
  6. 门户(Portal):提供Web UI,用于用户操作和管理。
  7. Redis:缓存服务,提高系统性能。
  8. Jobservice:处理异步任务,如镜像复制、扫描等。

部署Harbor的步骤

安装Docker和Docker Compose

首先,安装Docker和Docker Compose工具。这里假设你已经安装了Docker。如果没有,可以参考Docker官方文档进行安装。

下载并安装Docker Compose:

# 下载Docker Compose二进制文件
wget https://github.com/docker/compose/releases/download/v2.29.1/docker-compose-linux-x86_64

# 移动文件到系统目录
mv docker-compose-linux-x86_64 /usr/bin/docker-compose

# 赋予执行权限
chmod +x /usr/bin/docker-compose

# 检查Docker Compose版本
docker-compose -v
# Docker Compose version v2.29.1
下载并解压Harbor安装包
# 下载Harbor安装包
wget https://github.com/goharbor/harbor/releases/download/v2.10.3/harbor-online-installer-v2.10.3.tgz

# 解压安装包
tar xzvf harbor-online-installer-v2.10.3.tgz

# 进入Harbor目录
cd harbor/

配置Harbor

复制配置模板并进行编辑:

# 复制配置文件模板
cp harbor.yml.tmpl harbor.yml

# 编辑配置文件
vi harbor.yml

根据实际需求修改配置文件,以下是一个示例配置:

# Harbor的配置文件

# 设置访问Harbor UI和注册服务的主机名或IP地址
hostname: 10.0.0.194

# HTTP相关配置
http:
  port: 80

# 如果不使用HTTPS,可以注释以下配置
#https:
#  port: 443
#  certificate: /your/certificate/path
#  private_key: /your/private/key/path

# Harbor管理员密码
harbor_admin_password: 12345

# 数据库配置
database:
  ...

加载镜像和启动Harbor

准备环境并启动Harbor:

# 准备环境
bash prepare

# 安装并启动Harbor
bash install.sh
验证安装

检查Harbor的容器状态,确保所有容器都已成功启动:

# 检查容器状态
docker-compose ps

# 预期输出(示例):
# NAME                IMAGE                                 COMMAND                   SERVICE       CREATED              STATUS                        PORTS
# harbor-core         goharbor/harbor-core:v2.10.3          "/harbor/entrypoint.…"   core          About a minute ago   Up About a minute (healthy)   
# harbor-db           goharbor/harbor-db:v2.10.3            "/docker-entrypoint.…"   postgresql    About a minute ago   Up About a minute (healthy)   
# harbor-jobservice   goharbor/harbor-jobservice:v2.10.3    "/harbor/entrypoint.…"   jobservice    About a minute ago   Up About a minute (healthy)   
# harbor-log          goharbor/harbor-log:v2.10.3           "/bin/sh -c /usr/loc…"   log           About a minute ago   Up About a minute (healthy)   127.0.0.1:1514->10514/tcp
# harbor-portal       goharbor/harbor-portal:v2.10.3        "nginx -g 'daemon of…"   portal        About a minute ago   Up About a minute (healthy)   
# nginx               goharbor/nginx-photon:v2.10.3         "nginx -g 'daemon of…"   proxy         About a minute ago   Up About a minute (healthy)   0.0.0.0:80->8080/tcp, :::80->8080/tcp
# redis               goharbor/redis-photon:v2.10.3         "redis-server /etc/r…"   redis         About a minute ago   Up About a minute (healthy)   
# registry            goharbor/registry-photon:v2.10.3      "/home/harbor/entryp…"   registry      About a minute ago   Up About a minute (healthy)   
# registryctl         goharbor/harbor-registryctl:v2.10.3   "/home/harbor/start.…"   registryctl   About a minute ago   Up About a minute (healthy)
登陆仓库10.0.0.194访问

总结

通过上述步骤,你可以成功部署一个功能强大的Harbor镜像仓库,满足企业级的镜像管理需求。Harbor不仅提供了全面的功能,还通过其丰富的特性确保镜像的安全性和管理的便利性。希望这篇指南对你部署Harbor有所帮助!

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值