Harbor企业级Docker镜像仓库完整教程

Harbor是一个开源的企业级Docker镜像仓库,提供了镜像存储、漏洞扫描、权限管理、镜像签名等功能。相比Docker官方的Registry,Harbor更加适合企业级应用场景。

Harbor核心特性

  • 安全:集成镜像漏洞扫描,支持容器镜像签名
  • 权限管理:基于角色的访问控制(RBAC)
  • 镜像复制:支持跨仓库的镜像复制
  • 审计日志:完整的操作日志记录
  • 高可用:支持高可用部署

环境要求

在安装Harbor之前,需要准备以下环境:

  • Docker 17.06.0-ce+ 或更高版本
  • Docker Compose 1.18.0+ 或更高版本
  • 推荐配置:4GB+内存,40GB+磁盘空间

安装Harbor

1. 下载Harbor离线安装包

# 访问Harbor官网下载最新版本的离线安装包
wget https://github.com/goharbor/harbor/releases/download/v2.10.0/harbor-offline-installer-v2.10.0.tgz

# 解压安装包
tar -zxvf harbor-offline-installer-v2.10.0.tgz
cd harbor

2. 配置Harbor

复制配置文件模板并进行修改:

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

# 编辑配置文件
vim harbor.yml

主要配置项说明:

# Harbor的访问地址(可以是IP或域名)
hostname: harbor.example.com

# HTTP协议配置
http:
  port: 80

# HTTPS协议配置(生产环境推荐)
# https:
#   port: 443
#   certificate: /your/certificate/path
#   private_key: /your/private/key/path

# Harbor管理员初始密码
harbor_admin_password: Harbor12345

# 数据存储路径
data_volume: /data

# 日志级别
log:
  level: info
  local:
    rotate_count: 50
    rotate_size: 200M
    location: /var/log/harbor

3. 执行安装脚本

# 运行安装脚本
sudo ./install.sh

安装完成后,可以通过浏览器访问Harbor Web界面:http://your-harbor-ip

基本使用

1. 登录Harbor

# 使用Docker CLI登录Harbor
docker login harbor.example.com

# 输入用户名和密码(默认:admin / Harbor12345)

2. 创建项目

在Web界面中创建新项目,或者在命令行中:

1. 登录Harbor Web管理界面 2. 点击"项目" -> "新建项目" 3. 输入项目名称(如:myproject) 4. 设置访问级别(公开或私有) 5. 点击"确定"

3. 推送镜像到Harbor

# 给镜像打标签
docker tag nginx:latest harbor.example.com/myproject/nginx:latest

# 推送镜像
docker push harbor.example.com/myproject/nginx:latest

4. 从Harbor拉取镜像

# 拉取镜像
docker pull harbor.example.com/myproject/nginx:latest

常用管理操作

启动/停止Harbor

# 停止Harbor
docker-compose down

# 启动Harbor
docker-compose up -d

# 重启Harbor
docker-compose restart

修改配置后重新部署

# 停止Harbor
docker-compose down

# 修改配置文件
vim harbor.yml

# 重新生成配置文件
sudo ./prepare

# 启动Harbor
docker-compose up -d

卸载Harbor

# 停止并删除Harbor容器
docker-compose down -v

# 删除Harbor数据(谨慎操作!)
rm -rf /data/harbor

安全配置

启用HTTPS

# 1. 编辑harbor.yml文件,取消https配置的注释
# 2. 配置SSL证书路径
https:
  port: 443
  certificate: /data/ssl/harbor.example.com.crt
  private_key: /data/ssl/harbor.example.com.key

# 3. 创建SSL证书目录
mkdir -p /data/ssl

# 4. 准备SSL证书文件
# 使用自签名证书或Let's Encrypt证书

修改Docker信任仓库

# 如果使用自签名证书,需要配置Docker信任该仓库
sudo mkdir -p /etc/docker/certs.d/harbor.example.com

# 复制CA证书到Docker信任目录
sudo cp /data/ssl/ca.crt /etc/docker/certs.d/harbor.example.com/

# 重启Docker服务
sudo systemctl restart docker

最佳实践

  • 定期备份:定期备份Harbor配置和数据目录
  • 镜像扫描:启用镜像漏洞扫描,确保镜像安全
  • 权限控制:合理设置项目权限,避免使用root账户
  • 监控告警:配置监控和告警,及时发现异常
  • 高可用部署:生产环境建议部署高可用Harbor集群
  • 清理策略:配置镜像保留策略,定期清理无用镜像

Harbor作为企业级的Docker镜像仓库,提供了完善的功能和良好的用户体验。通过本教程,你应该能够快速搭建和部署Harbor,并在生产环境中使用它来管理Docker镜像。如果遇到问题,可以查看Harbor官方文档获取更多信息。

发表回复

后才能评论