【服务器部署】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(已装可跳过)
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. 系统优化(推荐)
# 关闭 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. 下载并解压
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
解压后会得到:
harbor/
├── harbor.v2.10.3.tar.gz # 所有镜像包
├── harbor.yml.tmpl
├── install.sh
├── prepare
└── common.sh
2. 重点!导入镜像
>离线包内镜像必须手动导入,否则 install.sh 会尝试联网拉取,导致失败。
docker load -i harbor.v2.10.3.tar.gz
执行完后可用以下命令验证:
docker images | grep goharbor
预期输出:
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
cp harbor.yml.tmpl harbor.yml
vim harbor.yml
最小化示例(HTTP 方式):
hostname: 192.168.1.100 # 写本机 IP 或域名
http:port: 80
harbor_admin_password: Harbor@123
data_volume: /data/harbor
如需 HTTPS,把证书路径填进去即可。
4. 一键安装
# 带漏洞扫描、签名、ChartMuseum(按需)
./install.sh --with-trivy --with-notary --with-chartmuseum
安装完成后,看到:
✔ ----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,赋权执行即可:
#!/bin/bash
set -eHARBOR_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}"
九、参考文献
- Harbor 官方文档:https://goharbor.io/docs/2.10.0/
- Docker 官方安装指南:https://docs.docker.com/engine/install/centos/