【服务器部署】CentOS 7/8 离线部署 Harbor v2.10.3 超详细攻略

一、背景

很多小伙伴在内网或测试环境部署 Harbor 时,都会选择 离线安装包。

最近社区发布了 Harbor v2.10.3,离线安装包文件名是 harbor-offline-installer-v2.10.3.tgz,里面附带了一个巨大的 harbor.v2.10.3.tar.gz。

"这个 harbor.v2.10.3.tar.gz 到底要不要执行 docker load?"

答案是:必须 docker load!

本文把整套流程一次性梳理清楚,照抄即可成功。

二、环境说明

组件 版本/要求
OS CentOS 7.9 64bit
Docker ≥ 20.10
Docker-Compose ≥ 2.20
Harbor v2.10.3
CPU/Mem/Disk 2C4G/40G

三、准备工作

1. 安装 Docker & Docker-Compose(已装可跳过)

bash 复制代码
sudo yum update -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
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
sudo systemctl enable --now docker

# Docker-Compose 二进制
sudo curl -L https://github.com/docker/compose/releases/download/v2.20.0/docker-compose-$(uname -s)-$(uname -m) \
  -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

2. 系统优化(推荐)

bash 复制代码
# 关闭 SELinux & 防火墙(测试环境)
setenforce 0
sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
systemctl disable --now firewalld

# 关闭 swap
swapoff -a && sed -ri '/swap/s/^/#/' /etc/fstab

四、安装 Harbor v2.10.3(离线版)

1. 下载并解压

bash 复制代码
cd /opt
wget https://github.com/goharbor/harbor/releases/download/v2.10.3/harbor-offline-installer-v2.10.3.tgz
tar zxvf harbor-offline-installer-v2.10.3.tgz
cd harbor

解压后会得到:

bash 复制代码
harbor/
├── harbor.v2.10.3.tar.gz      # 所有镜像包
├── harbor.yml.tmpl
├── install.sh
├── prepare
└── common.sh

2. 重点!导入镜像

复制代码
>离线包内镜像必须手动导入,否则 install.sh 会尝试联网拉取,导致失败。
bash 复制代码
docker load -i harbor.v2.10.3.tar.gz

执行完后可用以下命令验证:

bash 复制代码
docker images | grep goharbor

预期输出:

bash 复制代码
goharbor/harbor-exporter        v2.10.3   7aa694114453   14 months ago   107MB
goharbor/redis-photon           v2.10.3   359683ebd59c   14 months ago   165MB
goharbor/trivy-adapter-photon   v2.10.3   6d51017555d9   14 months ago   516MB
goharbor/harbor-registryctl     v2.10.3   96efb27ac641   14 months ago   152MB
goharbor/registry-photon        v2.10.3   f73ad548d874   14 months ago   84.7MB
goharbor/nginx-photon           v2.10.3   0ae16f53f286   14 months ago   154MB
goharbor/harbor-log             v2.10.3   9ee81cca16ce   14 months ago   163MB
goharbor/harbor-jobservice      v2.10.3   053df0842d37   14 months ago   143MB
goharbor/harbor-core            v2.10.3   ed909856be82   14 months ago   171MB
goharbor/harbor-portal          v2.10.3   c8c29cea2ef3   14 months ago   162MB
goharbor/harbor-db              v2.10.3   c623b46fd89d   14 months ago   269MB
goharbor/prepare                v2.10.3   292e199c8873   14 months ago   210MB

3. 配置 harbor.yml

bash 复制代码
cp harbor.yml.tmpl harbor.yml
vim harbor.yml

最小化示例(HTTP 方式):

bash 复制代码
hostname: 192.168.1.100        # 写本机 IP 或域名
http:
  port: 80
harbor_admin_password: Harbor@123
data_volume: /data/harbor

如需 HTTPS,把证书路径填进去即可。
4. 一键安装

bash 复制代码
# 带漏洞扫描、签名、ChartMuseum(按需)
./install.sh --with-trivy --with-notary --with-chartmuseum

安装完成后,看到:

bash 复制代码
✔ ----Harbor has been installed and started successfully.----

五、登录验证

浏览器访问:

http://192.168.1.100

复制代码
用户名:admin
密码:Harbor@123(即 harbor_admin_password)

首次登录后请及时修改密码。

六、常见问题 FAQ

问题 解决思路
docker: command not found 检查 Docker 是否正确安装并加入 PATH
镜像导入时报 no space left on device 清理 /var/lib/docker 或扩容磁盘
浏览器打不开页面 检查端口占用、防火墙、SELinux
忘记 admin 密码 进入 harbor-db 容器重置,或重装

七、结论

离线安装包必须 docker load -i harbor.v2.10.3.tar.gz
导入镜像后再执行 ./install.sh
其余步骤与在线安装完全一致

八、一键脚本(懒人福利)

把下面脚本保存为 install_harbor_offline.sh,赋权执行即可:

powershell 复制代码
#!/bin/bash
set -e

HARBOR_VER=v2.10.3
IP=$(hostname -I | awk '{print $1}')

yum update -y && yum install -y wget tar
cd /opt
wget https://github.com/goharbor/harbor/releases/download/${HARBOR_VER}/harbor-offline-installer-${HARBOR_VER}.tgz
tar zxvf harbor-offline-installer-${HARBOR_VER}.tgz
cd harbor
docker load -i harbor.${HARBOR_VER}.tar.gz
cp harbor.yml.tmpl harbor.yml
sed -ri "s/^hostname:.*/hostname: ${IP}/" harbor.yml
./install.sh
echo "Harbor installed successfully! Access at http://${IP}"

九、参考文献

相关推荐
My is 李豆38 分钟前
CentOS 7 安装 Docker 完整教程(含 docker-compose 插件)
docker·eureka·centos
极客先躯1 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
kong@react2 小时前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
某林2123 小时前
Isaac Sim 5.1.0 无头服务器部署与 RTX 显存段错误排障全记录
运维·服务器·docker·容器·isaac
m0_738120723 小时前
Docker 环境下 Vulfocus 靶场搭建全流程(附镜像源问题解决方案)
运维·服务器·网络·安全·docker·容器
simeple3 小时前
记一次 Docker Compose 项目迁移:从 Windows Docker Desktop 迁移到 CentOS 服务器
docker
哆啦A梦——4 小时前
Ubuntu 虚拟机 Docker 与 MySQL 8.0.42 部署指南
mysql·ubuntu·docker
上天_去_做颗惺星 EVE_BLUE5 小时前
【新 Linux 服务器上手全攻略】系统巡检、存储规划与开发环境初始化
linux·运维·服务器·ubuntu·macos·centos
木雷坞5 小时前
Playwright MCP Docker 部署:mcr 镜像、浏览器工具和权限配置
运维·docker·容器·mcp
das2m5 小时前
WSL2 Ubuntu 配置完美版 docker compose 指南
linux·ubuntu·docker