news 2026/6/7 2:47:49

保姆级教程:在华为欧拉/麒麟系统上,用Docker Compose一键部署Harbor 1.10.2

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
保姆级教程:在华为欧拉/麒麟系统上,用Docker Compose一键部署Harbor 1.10.2

华为欧拉/麒麟系统上Docker Compose部署Harbor 1.10.2全流程指南

在国产化技术快速发展的背景下,华为欧拉(openEuler)和麒麟(Kylin)操作系统正成为越来越多企业和开发者的选择。特别是在ARM架构服务器上部署私有镜像仓库Harbor,已成为国产化替代项目中的常见需求。本文将提供一份从零开始的详细部署指南,帮助您在华为欧拉或麒麟系统上顺利完成Harbor 1.10.2的安装与配置。

1. 环境准备与依赖安装

在开始部署Harbor之前,我们需要确保系统环境满足基本要求。华为欧拉和麒麟系统作为国产操作系统的代表,在软件生态上与常见的Linux发行版略有不同,因此需要特别注意依赖项的安装。

1.1 系统要求检查

首先确认您的系统架构和版本信息:

uname -m cat /etc/os-release

对于Harbor 1.10.2,建议的系统配置如下:

组件最低要求推荐配置
CPU2核4核
内存4GB8GB
存储40GB100GB
系统openEuler 20.03 LTS SP2或Kylin V10最新稳定版

1.2 Docker与Docker Compose安装

由于Harbor基于容器技术,我们需要先安装Docker和Docker Compose。在华为欧拉/麒麟系统上,可以使用以下命令:

# 安装Docker CE sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io # 启动Docker并设置开机自启 sudo systemctl enable --now docker # 验证Docker安装 docker --version

对于Docker Compose的安装:

# 下载Docker Compose二进制文件 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 # 设置可执行权限 sudo chmod +x /usr/local/bin/docker-compose # 验证安装 docker-compose --version

注意:如果遇到下载速度慢的问题,可以考虑使用国内镜像源替换上述URL中的github.com地址。

2. Harbor安装包获取与准备

Harbor官方镜像默认不支持ARM架构,因此我们需要获取专门为ARM架构编译的镜像包。

2.1 下载ARM兼容的Harbor安装包

您可以从以下渠道获取适用于ARM架构的Harbor 1.10.2安装包:

  1. 官方社区提供的ARM版本(如果可用)
  2. 第三方可信源提供的预编译包
  3. 自行从源码编译(不推荐新手尝试)

这里我们使用离线安装包方式,避免网络问题影响部署:

# 创建工作目录 mkdir -p /opt/harbor && cd /opt/harbor # 下载离线安装包(示例URL,请替换为实际可用地址) wget https://example.com/harbor-arm64-offline-v1.10.2.tar.gz # 验证下载完整性 sha256sum harbor-arm64-offline-v1.10.2.tar.gz

2.2 解压安装包

tar -zxvf harbor-arm64-offline-v1.10.2.tar.gz cd harbor

解压后目录结构应包含以下关键文件和目录:

  • harbor.yml:主配置文件
  • install.sh:安装脚本
  • common:共享配置目录
  • docker-compose.yml:Compose配置文件
  • prepare:准备脚本目录

3. Harbor配置详解

正确的配置是Harbor顺利运行的关键。我们将详细讲解每个需要修改的配置项。

3.1 修改harbor.yml主配置

使用文本编辑器打开harbor.yml文件:

vi harbor.yml

需要关注的主要配置项包括:

# 主机名或IP地址(必须修改) hostname: your.server.ip.or.domain # 数据存储路径(建议修改) data_volume: /data/harbor # HTTP/HTTPS配置(根据实际情况选择) http: port: 80 https: port: 443 certificate: /your/certificate/path private_key: /your/private/key/path # 管理员密码(建议修改) harbor_admin_password: Harbor12345 # 数据库配置(保持默认或根据需求修改) database: password: root123 max_idle_conns: 50 max_open_conns: 100

3.2 特定于ARM架构的配置调整

由于我们使用的是ARM架构,还需要做一些特殊配置:

  1. 确保所有镜像标签正确指向ARM版本
  2. 检查存储驱动兼容性
  3. 验证数据库连接配置

可以通过以下命令快速检查关键配置:

grep -E 'image:|volumes:' docker-compose.yml

4. 安装与验证

完成所有配置后,我们可以开始安装过程。

4.1 执行安装脚本

./install.sh

安装过程会执行以下操作:

  1. 加载Docker镜像
  2. 准备配置文件
  3. 创建必要的网络和卷
  4. 启动所有服务容器

安装完成后,您应该看到类似如下的输出:

✔ ----Harbor has been installed and started successfully.----

4.2 验证服务状态

使用以下命令检查容器运行状态:

docker-compose ps

预期输出应显示所有服务状态为"Up":

Name Command State Ports -------------------------------------------------------------------------------------------- harbor-core /harbor/entrypoint.sh Up harbor-db /docker-entrypoint.sh Up 5432/tcp harbor-jobservice /harbor/entrypoint.sh Up harbor-log /bin/sh -c /usr/local/bin/ ... Up 127.0.0.1:1514->10514/tcp harbor-portal nginx -g daemon off; Up 8080/tcp nginx nginx -g daemon off; Up 0.0.0.0:80->8080/tcp, 443/tcp redis redis-server /etc/redis.conf Up 6379/tcp registry /home/harbor/entrypoint.sh Up 5000/tcp registryctl /home/harbor/start.sh Up

4.3 常见问题排查

如果遇到服务启动失败,可以按照以下步骤排查:

  1. 检查日志文件:
tail -f /var/log/harbor/core.log
  1. 验证文件权限:
sudo chown -R 10000:10000 /data/harbor sudo chown -R 10000:10000 common/
  1. 数据库连接问题:
# 检查数据库配置文件 vi /data/harbor/database/postgresql.conf # 确保包含以下配置 listen_addresses = '*' unix_socket_directories = '/run/postgresql'

5. 高级配置与优化

成功部署后,我们可以进一步优化Harbor的性能和安全性。

5.1 配置HTTPS访问

为了安全考虑,建议配置HTTPS访问:

  1. 准备SSL证书(可自签名或从CA获取)
  2. 修改harbor.yml中的HTTPS配置节
  3. 重新部署:
./install.sh --with-notary --with-trivy --with-chartmuseum

5.2 存储后端配置

默认使用本地文件系统存储,可以配置为使用其他存储后端:

# 使用S3兼容存储的示例配置 storage_service: s3: accesskey: your_access_key secretkey: your_secret_key region: us-east-1 bucket: your-bucket-name endpoint: https://s3.amazonaws.com secure: true

5.3 备份与恢复

定期备份Harbor数据非常重要:

# 备份数据库 docker exec -it harbor-db pg_dump -U postgres registry > registry_backup.sql # 备份配置文件 tar -czvf harbor_backup_$(date +%Y%m%d).tar.gz /data/harbor /opt/harbor/harbor.yml

恢复时只需反向操作即可。

6. 日常管理与维护

Harbor运行后,需要定期进行维护以确保稳定运行。

6.1 服务启停

# 停止所有服务 docker-compose down # 启动所有服务 docker-compose up -d

6.2 版本升级

升级Harbor版本时,建议遵循以下步骤:

  1. 备份当前数据和配置
  2. 下载新版本安装包
  3. 修改配置文件适配新版本
  4. 执行升级脚本

6.3 监控与日志

配置日志轮转:

# 编辑logrotate配置 vi /etc/logrotate.d/harbor # 添加以下内容 /var/log/harbor/*.log { daily missingok rotate 30 compress delaycompress notifempty create 640 root root }

7. 安全最佳实践

为确保Harbor实例的安全性,建议实施以下措施:

7.1 访问控制

  1. 启用项目级别的访问控制
  2. 配置适当的用户角色
  3. 定期审计用户权限

7.2 漏洞扫描

集成Trivy进行镜像漏洞扫描:

# 安装Trivy插件 ./install.sh --with-trivy

7.3 网络隔离

考虑将Harbor部署在内网环境中,或通过防火墙限制访问:

# 只允许特定IP访问80/443端口 iptables -A INPUT -p tcp --dport 80 -s trusted_ip -j ACCEPT iptables -A INPUT -p tcp --dport 443 -s trusted_ip -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j DROP iptables -A INPUT -p tcp --dport 443 -j DROP

8. 性能调优

根据实际使用情况,可以调整以下参数优化性能:

8.1 数据库调优

修改/data/harbor/database/postgresql.conf

max_connections = 200 shared_buffers = 1GB effective_cache_size = 3GB

8.2 Redis配置

调整docker-compose.yml中的Redis部分:

redis: image: goharbor/redis-photon:v1.10.2 container_name: redis restart: always environment: - REDIS_MAXMEMORY=1gb - REDIS_MAXMEMORY_POLICY=allkeys-lru

8.3 前端优化

配置Nginx缓存和压缩:

gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/7 2:42:45

5G物联网卡开户避坑指南:从DNN、切片到QoS模板的完整配置流程

5G物联网卡开户配置实战:从DNN选择到切片优化的全流程解析当智能电表每分钟上传一次能耗数据,或是自动驾驶汽车需要毫秒级响应时,5G网络如何精准分配资源?这个问题困扰着许多物联网方案设计者。与消费级5G不同,物联网连…

作者头像 李华
网站建设 2026/6/7 2:38:20

用Python爬取A股所有股票代码和名称,并存入Excel(附完整代码)

Python实战:高效爬取A股全量股票数据并自动化存储1. 数据采集环境搭建在开始爬取A股数据之前,我们需要配置合适的开发环境。建议使用Python 3.7版本,这是目前大多数金融数据接口兼容性最好的版本。以下是环境配置的核心步骤:# 安装…

作者头像 李华
网站建设 2026/6/7 2:36:26

从开发到上线:一个Django+SimpleUI后台管理系统的完整部署踩坑实录

从开发到上线:一个DjangoSimpleUI后台管理系统的完整部署踩坑实录记得第一次用DjangoSimpleUI做后台管理系统时,本地调试一切顺利,但到了部署环节却遇到了各种"惊喜"。从静态文件404到权限问题,从uWSGI配置到Nginx代理&…

作者头像 李华