logo

基于Docker Harbor的镜像仓库搭建与镜像Pull操作全解析

作者:KAKAKA2025.10.10 18:46浏览量:3

简介:本文详细介绍了如何搭建Docker Harbor镜像仓库,并阐述了如何从该仓库中Pull镜像的完整流程,旨在为开发者提供一套高效、安全的镜像管理解决方案。

一、Docker Harbor镜像仓库概述

Docker Harbor是一个开源的企业级Docker Registry项目,由VMware公司开发和维护。它提供了基于Web的用户界面、基于角色的访问控制、AD/LDAP集成、审计日志、镜像复制等功能,非常适合企业级应用场景。通过搭建Harbor镜像仓库,开发者可以集中管理Docker镜像,提高镜像的安全性和可访问性。

1.1 Harbor核心特性

  • 基于角色的访问控制:支持用户和组的权限管理,可以细粒度地控制镜像的访问权限。
  • 镜像复制:支持在不同Harbor实例之间复制镜像,实现镜像的分布式存储
  • AD/LDAP集成:可以与企业现有的AD或LDAP系统集成,简化用户管理。
  • 审计日志:记录所有用户操作,便于追踪和审计。
  • RESTful API:提供丰富的API接口,便于与其他系统集成。

1.2 适用场景

  • 企业内部Docker镜像的集中管理。
  • 跨地域或跨团队的镜像共享。
  • 需要高安全性和合规性的镜像存储环境。

二、Docker Harbor镜像仓库搭建

2.1 准备工作

  • 一台安装了Docker和Docker Compose的Linux服务器。
  • 足够的磁盘空间用于存储镜像。
  • 域名SSL证书(可选,但推荐用于生产环境)。

2.2 安装Docker Compose

如果尚未安装Docker Compose,可以通过以下命令安装:

  1. # 下载Docker Compose二进制文件
  2. sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  3. # 添加执行权限
  4. sudo chmod +x /usr/local/bin/docker-compose
  5. # 验证安装
  6. docker-compose --version

2.3 下载Harbor安装包

从Harbor的GitHub仓库下载最新版本的安装包:

  1. wget https://github.com/goharbor/harbor/releases/download/v2.4.0/harbor-offline-installer-v2.4.0.tgz
  2. tar xvf harbor-offline-installer-v2.4.0.tgz
  3. cd harbor

2.4 配置Harbor

编辑harbor.yml文件,根据实际需求修改配置,例如:

  1. hostname: your.domain.com
  2. http:
  3. port: 80
  4. https:
  5. port: 443
  6. certificate: /path/to/your/certificate.pem
  7. private_key: /path/to/your/private_key.pem
  8. harbor_admin_password: Harbor12345
  9. database:
  10. password: root123
  11. max_idle_conns: 50
  12. max_open_conns: 100

2.5 运行安装脚本

执行以下命令启动Harbor:

  1. ./install.sh

安装完成后,可以通过浏览器访问https://your.domain.com(或http://your.domain.com,如果未配置HTTPS),使用默认用户名admin和密码Harbor12345登录。

三、从Harbor镜像仓库Pull镜像

3.1 配置Docker客户端

在需要Pull镜像的Docker客户端上,编辑或创建/etc/docker/daemon.json文件,添加Harbor仓库的地址:

  1. {
  2. "insecure-registries": ["your.domain.com"]
  3. }

如果Harbor配置了HTTPS且证书是受信任的,则无需配置insecure-registries

重启Docker服务:

  1. sudo systemctl restart docker

3.2 登录Harbor仓库

使用Docker命令登录Harbor仓库:

  1. docker login your.domain.com

输入用户名和密码(与Harbor Web界面登录使用的相同)。

3.3 Pull镜像

从Harbor仓库中Pull镜像的语法与从Docker Hub Pull镜像类似:

  1. docker pull your.domain.com/library/your-image:tag

其中,your.domain.com是Harbor仓库的地址,library是项目名称(默认为library),your-image是镜像名称,tag是镜像标签。

3.4 示例

假设Harbor仓库中有一个名为nginx的镜像,标签为latest,则Pull命令如下:

  1. docker pull your.domain.com/library/nginx:latest

四、高级配置与管理

4.1 镜像复制

Harbor支持在不同实例之间复制镜像。在Harbor Web界面中,可以配置复制规则,指定源项目和目标项目,以及复制的触发条件(如手动触发、定时触发或事件触发)。

4.2 用户与权限管理

通过Harbor Web界面,可以创建用户和组,并分配不同的角色(如项目管理员、开发者、访客等)。每个角色具有不同的权限,可以细粒度地控制镜像的访问和操作。

4.3 审计日志

Harbor记录了所有用户操作,包括登录、Pull镜像、Push镜像、删除镜像等。通过审计日志,可以追踪和审计所有操作,提高安全性。

五、总结与展望

本文详细介绍了如何搭建Docker Harbor镜像仓库,并阐述了如何从该仓库中Pull镜像的完整流程。通过Harbor,开发者可以集中管理Docker镜像,提高镜像的安全性和可访问性。未来,随着容器技术的不断发展,Harbor等镜像仓库工具将发挥更加重要的作用,为开发者提供更加高效、安全的镜像管理解决方案。

相关文章推荐

发表评论

活动