Harbor是统信UOS上构建企业级私有镜像仓库的CNCF认证首选方案,支持在线一键部署、离线手动部署及systemd托管三种方式,需依赖Docker与Docker Compose并分阶段实施。

如果您已在统信UOS上成功部署Docker引擎,但需要构建企业级私有镜像仓库以实现镜像集中管理、权限控制与安全审计,则Harbor是符合CNCF认证的首选方案。Harbor依赖Docker、Docker Compose及特定系统组件,其安装过程需在Docker就绪前提下分阶段实施。以下是针对统信UOS环境部署Harbor的多种可行方法:
一、基于Docker Compose在线一键部署(推荐用于网络连通环境)
该方法适用于已配置稳定外网访问、且系统中已安装docker-ce、docker-ce-cli、containerd.io及docker-compose-plugin的统信UOS系统。Harbor官方提供预编译的离线/在线安装脚本,此处采用在线模式快速拉取并初始化服务栈。
1、确认Docker与Docker Compose可用:执行docker --version与docker compose version,确保输出版本不低于v23.0与v2.20。
2、创建Harbor专用目录并进入:sudo mkdir -p /opt/harbor && cd /opt/harbor。
3、下载Harbor离线安装包对应版本(适配UOS内核与架构):执行sudo wget https://github.com/goharbor/harbor/releases/download/v2.12.2/harbor-offline-installer-v2.12.2.tgz(注意替换为最新稳定版链接,x86_64或aarch64需与系统一致)。
4、解压安装包:sudo tar -xvzf harbor-offline-installer-v2.12.2.tgz。
5、编辑配置文件harbor.yml:sudo nano harbor.yml,将hostname修改为实际可解析的域名或IP(如192.168.10.100),将https段注释掉(若暂不启用TLS),保留http配置并确保端口为80。
6、运行安装脚本:sudo ./install.sh,等待输出“Harbor has been installed successfully”。
二、离线环境手动部署Harbor容器化服务
该方法适用于无外网连接、但已通过UOS本地源或离线包完成Docker基础组件部署的高安全隔离环境。需提前在跳板机下载全部依赖镜像与二进制文件,并校验SHA256完整性。
1、在可联网机器上执行离线资源准备:wget https://github.com/goharbor/harbor/releases/download/v2.12.2/harbor-offline-installer-v2.12.2.tgz,同时使用docker pull拉取以下镜像并保存为tar:goharbor/prepare:v2.12.2、goharbor/harbor-core:v2.12.2、goharbor/harbor-registryctl:v2.12.2、goharbor/registry-photon:v2.12.2、goharbor/harbor-db:v2.12.2、goharbor/harbor-portal:v2.12.2、goharbor/harbor-log:v2.12.2。
2、将tgz包与所有镜像tar文件拷贝至UOS目标主机的/opt/harbor/offline目录。
3、在目标主机上加载全部镜像:for i in /opt/harbor/offline/*.tar; do sudo docker load -i $i; done。
4、解压harbor-offline-installer并进入目录,按前述方式修改harbor.yml,特别注意将data_volume路径设为UOS本地持久化分区(如/data/harbor),并确保该路径已创建且权限为chown -R 10000:10000 /data/harbor。
5、执行离线安装:sudo ./install.sh --with-notary --with-clair(按需启用内容信任与漏洞扫描)。
三、使用systemd托管Harbor服务(增强生产稳定性)
该方法适用于需将Harbor纳入系统级服务管理体系、实现自动恢复与日志归集的UOS服务器版场景。通过自定义systemd单元文件替代直接调用docker compose up,提升服务可观测性与运维一致性。
1、创建Harbor服务目录:sudo mkdir -p /etc/harbor,将已配置好的harbor.yml与docker-compose.yml复制至此目录。
2、编写systemd服务单元文件:sudo nano /etc/systemd/system/harbor.service,填入以下内容:
[Unit]
Description=Harbor Container Registry
After=docker.service
Wants=docker.service
[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/etc/harbor
ExecStart=/usr/bin/docker compose -f /etc/harbor/docker-compose.yml up -d
ExecStop=/usr/bin/docker compose -f /etc/harbor/docker-compose.yml down
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
3、重载systemd配置:sudo systemctl daemon-reload。
4、启用并启动服务:sudo systemctl enable harbor && sudo systemctl start harbor。
5、验证服务状态:sudo systemctl status harbor,确认输出中包含active (exited)且无红色错误行。

















