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

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

在容器化技术日益普及的今天,Docker已成为开发、测试和部署应用的标准工具。而Docker Harbor作为企业级的私有镜像仓库解决方案,不仅提供了镜像存储、分发的能力,还集成了用户管理、权限控制、安全审计等高级功能,成为众多企业构建私有容器云的首选。本文将围绕“Docker Harbor镜像仓库Pull及镜像仓库搭建”这一主题,详细阐述从环境准备到镜像Pull操作的完整流程,为开发者提供一份实用的操作指南。

一、Docker Harbor镜像仓库搭建前准备

1.1 硬件与软件环境要求

搭建Docker Harbor镜像仓库前,需确保服务器满足以下基本要求:

  • 操作系统:推荐使用CentOS 7/8、Ubuntu 18.04/20.04等Linux发行版,确保系统版本兼容Docker及Harbor。
  • CPU与内存:根据预期的镜像存储量和并发访问量,建议至少配备4核CPU和8GB内存,对于大型企业环境,可适当增加配置。
  • 磁盘空间:根据镜像存储需求,预留足够的磁盘空间,建议使用SSD以提升I/O性能。
  • 网络环境:确保服务器有稳定的网络连接,便于镜像的上传和下载。

1.2 安装Docker与Docker Compose

Harbor基于Docker运行,因此需先安装Docker。以CentOS为例,安装步骤如下:

  1. # 安装依赖
  2. sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  3. # 添加Docker仓库
  4. sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  5. # 安装Docker CE
  6. sudo yum install -y docker-ce docker-ce-cli containerd.io
  7. # 启动Docker服务
  8. sudo systemctl start docker
  9. sudo systemctl enable docker
  10. # 验证安装
  11. sudo docker run hello-world

安装Docker Compose,用于管理Harbor的多容器应用:

  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

二、Docker Harbor镜像仓库搭建步骤

2.1 下载Harbor安装包

访问Harbor官方GitHub仓库(https://github.com/goharbor/harbor/releases),下载最新版本的Harbor安装包。以v2.4.1版本为例:

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

2.2 配置Harbor

编辑harbor.yml配置文件,主要修改以下参数:

  • hostname:设置为服务器的IP地址或域名。
  • http.port:Harbor的HTTP服务端口,默认为80,可根据需要修改。
  • database.password:设置数据库密码。
  • harbor_admin_password:设置Harbor管理员密码。
  • data_volume:指定镜像存储路径。

示例配置片段:

  1. hostname: 192.168.1.100
  2. http:
  3. port: 80
  4. database:
  5. password: root123
  6. harbor_admin_password: Harbor12345
  7. data_volume: /data/harbor

2.3 安装Harbor

执行安装脚本,启动Harbor服务:

  1. sudo ./install.sh

安装完成后,访问http://<hostname>,使用配置文件中设定的管理员用户名和密码登录Harbor管理界面。

三、Docker镜像Pull操作指南

3.1 配置Docker客户端

在需要拉取镜像的Docker客户端上,编辑/etc/docker/daemon.json文件(若不存在则创建),添加Harbor仓库的信任配置:

  1. {
  2. "insecure-registries": ["192.168.1.100"]
  3. }

重启Docker服务使配置生效:

  1. sudo systemctl restart docker

3.2 登录Harbor仓库

使用Docker命令行登录Harbor仓库:

  1. docker login 192.168.1.100

输入用户名和密码,登录成功后,即可从Harbor拉取镜像。

3.3 拉取镜像

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

  1. docker pull 192.168.1.100/library/nginx:latest

拉取完成后,可使用docker images命令查看本地镜像列表,确认镜像已成功下载。

四、高级配置与优化

4.1 启用HTTPS

为提升安全性,建议为Harbor启用HTTPS。需准备SSL证书,并修改harbor.yml中的https相关配置:

  1. https:
  2. port: 443
  3. certificate: /path/to/your/certificate.pem
  4. private_key: /path/to/your/private_key.pem

重新运行安装脚本,Harbor将使用HTTPS提供服务。

4.2 配置镜像复制

Harbor支持镜像复制功能,可将镜像从一个项目复制到另一个项目,或在不同Harbor实例间同步。在Harbor管理界面中,进入“系统管理”->“复制管理”,创建复制规则,指定源项目和目标项目,设置复制策略(如定时复制、触发复制等)。

4.3 集成LDAP/AD认证

对于企业环境,可集成LDAP或Active Directory进行用户认证。在harbor.yml中配置LDAP参数:

  1. ldap:
  2. url: ldap://your.ldap.server
  3. search_base: ou=users,dc=example,dc=com
  4. uid: uid
  5. filter: (objectClass=person)
  6. scope: 2
  7. timeout: 5

重启Harbor服务后,用户可使用LDAP账户登录。

五、总结与展望

通过本文的详细介绍,开发者已掌握Docker Harbor镜像仓库的搭建流程及镜像Pull操作。Harbor作为企业级的私有镜像仓库解决方案,不仅提供了基本的镜像存储和分发功能,还通过用户管理、权限控制、安全审计等高级特性,满足了企业对于容器化应用管理的复杂需求。未来,随着容器技术的不断发展,Harbor也将持续演进,为企业提供更加高效、安全的容器镜像管理服务。