Docker私有仓库Harbor详解
- 互联网
- 2025-08-28 11:30:01

1. 什么是 Harbor?
Harbor 是一个开源的 Docker 镜像仓库管理平台,旨在提供更强大的企业级功能,支持私有 Docker 镜像仓库的管理。Harbor 为 Docker 提供了集中式的镜像管理服务,支持用户和权限管理、镜像版本控制、安全扫描、LDAP 集成等功能,是 Docker 镜像管理的最佳选择之一,特别适合需要高安全性、可扩展性的生产环境。
Harbor 的主要特点: 企业级安全性:提供镜像扫描、安全策略控制,保证镜像的安全性。支持多种认证方式:包括 LDAP、AD 和用户认证。高可用性和扩展性:支持分布式部署和高可用配置。支持多种镜像格式:不仅支持 Docker 镜像,也支持 Helm charts、OCI 镜像等。权限管理:细粒度的权限管理,可以定义不同的项目、用户及访问权限。镜像复制:支持镜像在不同 Harbor 实例之间的同步和复制。Harbor 作为私有 Docker 仓库的解决方案,通常用于公司或团队内部的镜像管理,能够提供更多的控制和安全性。
2. Harbor 的部署与安装 2.1 部署 Harbor 的系统要求
在部署 Harbor 之前,确保系统满足以下基本要求:
操作系统:Linux 系统(如 CentOS、Ubuntu 等)。Docker:Harbor 需要 Docker 进行容器化部署。Docker Compose:Harbor 使用 Docker Compose 来编排多个服务。存储:确保有足够的磁盘空间来存储 Docker 镜像。 2.2 安装 Docker 和 Docker Compose安装 Docker
sudo apt update sudo apt install docker.io安装 Docker Compose
sudo curl -L " github /docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose 2.3 获取 Harbor 安装包从 Harbor 官方 GitHub 页面下载最新的安装包:
wget github /goharbor/harbor/releases/download/v2.3.3/harbor-offline-installer-v2.3.3.tgz 2.4 解压并配置 Harbor解压安装包:
tar -zxvf harbor-offline-installer-v2.3.3.tgz cd harbor配置 Harbor: Harbor 提供了一个配置文件 harbor.yml,在安装之前需要根据自己的需求进行修改。特别是以下字段:
hostname:设置 Harbor 的域名或 IP 地址(如 harbor.example )。http:配置 Harbor 的端口和协议。auth:配置认证方式(如选择 db_auth、ldap_auth 等)。修改 harbor.yml 文件:
hostname: harbor.example http: port: 80 2.5 安装 Harbor配置完 harbor.yml 文件后,运行以下命令来启动 Harbor:
sudo ./install.sh该命令将会使用 Docker Compose 启动 Harbor 所需的服务,包括 Web UI、Docker Registry、数据库等。
3. Harbor 的主要组件 3.1 Harbor 的架构
Harbor 的架构由多个服务组成,包括:
Harbor Core:处理 API 请求和 Web UI。Docker Registry:用于存储 Docker 镜像。Clair:用于扫描镜像的安全漏洞。Notary:提供镜像签名功能。Redis:作为缓存服务。PostgreSQL:Harbor 的数据库。Jobservice:用于管理镜像同步和任务。Log:存储 Harbor 的日志数据。所有这些组件都通过 Docker Compose 进行编排和管理。
3.2 Harbor Web UIHarbor 提供了一个基于 Web 的图形界面,可以方便地管理镜像仓库、项目和用户权限。通过 Web UI,你可以:
管理项目:创建、编辑、删除项目,管理项目权限。上传和下载镜像:将镜像推送到 Harbor 仓库,或从 Harbor 拉取镜像。安全扫描:对镜像进行安全扫描,查看漏洞信息。用户和权限管理:管理不同用户的权限,控制访问和操作。访问 Harbor 的 Web UI:http://<hostname>/,默认的登录用户是 admin,密码为 Harbor12345,可以在配置文件中修改。
3.3 Harbor CLI(Harbor 命令行工具)Harbor 还提供了一个命令行工具 Harbor CLI,可以通过它来进行一些常见的管理操作,如推送镜像、查看镜像等。
# 登录 Harbor docker login harbor.example # 推送镜像到 Harbor docker tag myimage:latest harbor.example /myproject/myimage:latest docker push harbor.example /myproject/myimage:latest4. Harbor 的用户和权限管理 4.1 创建用户
Harbor 允许管理员创建多个用户,并为其分配不同的权限。通过 Web UI 或 API 可以管理用户的创建和权限。
通过 Web UI 创建用户 登录 Harbor 管理界面。转到 “Admin” → “Users”。点击 “New User”,填写用户信息并设置权限。 用户角色和权限Harbor 支持以下角色:
管理员(Admin):具有完全的权限,能够管理 Harbor 系统的所有部分。开发者(Developer):可以上传和下载镜像,但不能管理项目和用户。访客(Guest):只能拉取镜像,不能上传或管理镜像。 4.2 项目和权限管理在 Harbor 中,镜像是存储在 项目 中的。管理员可以为每个项目设置不同的访问权限:
管理员权限:允许修改项目、管理成员、推送和拉取镜像。开发者权限:允许推送和拉取镜像,但无法删除或修改项目设置。访客权限:只允许拉取镜像。 4.3 访问控制(RBAC)Harbor 支持 角色访问控制(RBAC),管理员可以为每个用户设置具体的操作权限。例如,某些用户可以仅访问某些特定项目,其他用户可能有更高的权限。
5. 镜像的管理和复制 5.1 镜像管理
在 Harbor 中,你可以管理镜像的生命周期,包括推送、拉取、删除等操作。通过 Web UI,你可以轻松地管理镜像的版本、标签、删除无用的镜像等。
5.2 镜像复制Harbor 支持将镜像从一个 Harbor 实例复制到另一个实例,通常用于实现跨地域的镜像同步。
配置镜像复制 在 Harbor 的管理页面,转到 “Administration” → “Replication”。配置复制任务,指定源和目标 Harbor 实例。你可以选择 镜像同步 的方式,如 实时同步、计划同步 或 手动同步。
6. Harbor 的安全性与合规性 6.1 镜像扫描
Harbor 集成了 Clair 和 Trivy 安全扫描工具,用于扫描镜像中的安全漏洞。管理员可以启用镜像扫描功能,自动扫描每个上传的镜像,查看漏洞报告。
镜像扫描配置 在 Harbor 管理界面,转到 “Administration” → “Scanner”,配置镜像扫描工具。 6.2 镜像签名(Notary)Harbor 还支持 镜像签名,通过 Notary 服务确保镜像在传输过程中未被篡改。镜像签名可以增加镜像的可信度,确保镜像的完整性和安全性。
7. Harbor 的高可用性和扩展性 7.1 高可用性部署
Harbor 支持高可用部署模式,可以通过配置多个 Harbor 实例来实现负载均衡和故障恢复。常见的高可用配置方式包括:
数据库主从复制:Harbor 使用 PostgreSQL 作为数据库,通过配置主从数据库提高可靠性。Redis 集群:用于缓存管理,提高性能和可用性。**Docker Compose 和 KubernetesDocker私有仓库Harbor详解由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Docker私有仓库Harbor详解”
上一篇
老游戏回顾:d2
下一篇
算法刷题-哈希表的总结