☰
Ubuntu下Harbor私有仓库部署与运维指南
2026/10/28 6:06:51 网站建设 项目流程

1. Ubuntu环境下Harbor Docker私有仓库部署指南

在容器化技术普及的今天,企业级Docker镜像管理已成为DevOps流程中的关键环节。Harbor作为VMware开源的企业级Registry项目,完美解决了原生Docker Registry在权限控制、镜像同步和漏洞扫描等方面的不足。本教程将基于Ubuntu 22.04 LTS系统,带你完成从零开始搭建生产级Harbor私有仓库的全过程。

实测环境:Ubuntu 22.04.3 LTS (Kernel 5.15.0-76-generic) + Docker 20.10.21 + Docker Compose v2.17.2 + Harbor v2.8.2

1.1 基础环境准备

首先更新系统并安装必要工具链:

sudo apt update && sudo apt upgrade -y sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release

添加Docker官方GPG密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

配置稳定版仓库源:

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装Docker引擎:

sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io

验证安装:

sudo docker run hello-world

1.2 Docker Compose安装

下载最新版二进制文件(当前v2.17.2):

sudo curl -L "https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

设置执行权限:

sudo chmod +x /usr/local/bin/docker-compose

验证版本:

docker-compose --version

1.3 系统参数调优

调整内核参数以优化容器性能:

cat <<EOF | sudo tee /etc/sysctl.d/docker.conf vm.max_map_count=262144 fs.file-max=65536 EOF sudo sysctl -p /etc/sysctl.d/docker.conf

2. Harbor安装与配置

2.1 下载Harbor离线包

访问GitHub Releases页面获取最新版本:

wget https://github.com/goharbor/harbor/releases/download/v2.8.2/harbor-offline-installer-v2.8.2.tgz

解压安装包:

tar xzvf harbor-offline-installer-v2.8.2.tgz -C /usr/local/ cd /usr/local/harbor

2.2 配置文件修改

复制模板文件并编辑:

cp harbor.yml.tmpl harbor.yml nano harbor.yml

关键配置示例:

hostname: harbor.yourdomain.com http: port: 8080 https: port: 443 certificate: /path/to/your/cert.crt private_key: /path/to/your/cert.key harbor_admin_password: YourStrongPassword123 database: password: root123 data_volume: /data/harbor

安全提示:生产环境必须启用HTTPS,可使用Let's Encrypt免费证书或企业级CA证书

2.3 执行安装脚本

运行安装程序:

sudo ./install.sh

安装成功后会自动启动以下服务:

  • harbor-core:核心服务
  • harbor-portal:Web界面
  • registry:Docker Registry服务
  • redis:缓存服务
  • postgresql:数据库服务

验证服务状态:

docker-compose ps

3. Harbor高级配置

3.1 配置系统服务

创建systemd服务文件:

cat <<EOF | sudo tee /etc/systemd/system/harbor.service [Unit] Description=Harbor Service After=docker.service systemd-networkd.service systemd-resolved.service Requires=docker.service Documentation=https://goharbor.io [Service] Type=simple WorkingDirectory=/usr/local/harbor ExecStart=/usr/local/bin/docker-compose -f /usr/local/harbor/docker-compose.yml up ExecStop=/usr/local/bin/docker-compose -f /usr/local/harbor/docker-compose.yml down Restart=on-failure RestartSec=5s [Install] WantedBy=multi-user.target EOF

启用服务:

sudo systemctl enable harbor sudo systemctl start harbor

3.2 配置Nginx反向代理(可选)

安装Nginx:

sudo apt install -y nginx

创建代理配置:

cat <<EOF | sudo tee /etc/nginx/conf.d/harbor.conf server { listen 80; server_name harbor.yourdomain.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } EOF

测试并重载配置:

sudo nginx -t && sudo systemctl reload nginx

4. 日常运维管理

4.1 数据备份策略

备份数据库:

docker exec -it harbor-db pg_dump -U postgres registry > registry_backup.sql

备份配置文件:

tar czvf harbor_config_backup.tar.gz /usr/local/harbor/harbor.yml /usr/local/harbor/data

4.2 版本升级步骤

  1. 停止当前服务:
cd /usr/local/harbor && docker-compose down
  1. 备份数据和配置:
cp -r /data/harbor /data/harbor_backup
  1. 下载新版本并解压:
wget https://github.com/goharbor/harbor/releases/download/v2.8.3/harbor-offline-installer-v2.8.3.tgz tar xzvf harbor-offline-installer-v2.8.3.tgz -C /usr/local/
  1. 迁移配置:
cp /usr/local/harbor_backup/harbor.yml /usr/local/harbor/
  1. 运行升级脚本:
./prepare && ./install.sh

4.3 常见问题排查

问题1:端口冲突

netstat -tulnp | grep 80 sudo lsof -i :443

问题2:磁盘空间不足

docker system df docker volume prune

问题3:证书过期

openssl x509 -in /path/to/cert.crt -noout -dates

5. 安全加固建议

5.1 访问控制配置

  1. 启用项目配额管理
  2. 配置LDAP/AD集成认证
  3. 设置镜像扫描定时任务
  4. 开启内容信任(Notary)功能

5.2 网络隔离方案

# 创建专用网络 docker network create --subnet=172.28.0.0/16 harbor-net # 修改docker-compose.yml services: registry: networks: - harbor-net

5.3 日志审计配置

修改harbor.yml:

log: level: info local: rotate_count: 50 rotate_size: 200M location: /var/log/harbor

配置日志轮转:

cat <<EOF | sudo tee /etc/logrotate.d/harbor /var/log/harbor/*.log { daily missingok rotate 30 compress delaycompress notifempty create 644 root root } EOF

我在实际生产环境部署中发现,合理配置资源限制能显著提升稳定性。建议在docker-compose.yml中为关键服务添加如下限制:

services: core: deploy: resources: limits: cpus: '2' memory: 4G

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询