Linux环境下部署 Harbor 私有镜像仓库 详细安装与证书配置

夜墨酱_1244

夜墨酱_1244

2026-04-21

320人浏览

原创

docker必须≥20.10、docker compose必须≥2.0.0、openssl必须可用,三者缺一即导致harbor启动失败;hostname、https证书cn、访问url须完全一致,证书路径与权限(私钥600)必须正确,否则portal崩溃或502错误。

linux环境下部署 harbor 私有镜像仓库 详细安装与证书配置

docker 必须 ≥ 20.10,docker compose 必须 ≥ 2.0.0,openssl 必须可用——这三个条件不满足,./install.sh 即使跑完也大概率启动失败,别跳过验证。

确认三个核心依赖是否就位

很多人卡在“安装成功但打不开网页”,实际是依赖没对齐。不是版本略低一点能凑合,而是 Harbor v2.9+ 明确拒绝旧版 docker-compose(v1.x)和低于 20.10 的 docker。

  • docker --version 输出必须是 Docker version 20.10.x 或更高;若为 18.09,运行 docker info 可能报 failed to create endpoint
  • docker compose version(注意:无连字符)必须输出类似 Docker Compose version v2.27.1;若提示 command not found,说明系统装的是 Python 版 docker-compose(v1),需手动下载二进制并放到 /usr/local/bin/
  • which openssl 必须返回路径;CentOS/RHEL 最小化安装常漏掉 openssl 包,yum install -y openssl 补上即可

离线安装包解压后必须改的三项配置

直接运行 ./install.sh 前,harbor.yml 里这三处不改,后续必然 docker login 失败或页面 502。

Zynq Linux Hardware Debug
Zynq Linux Hardware Debug

Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。

下载
  • hostname:不能写 localhost 或 127.0.0.1,必须填客户端能解析的地址,比如 192.168.88.240 或 harbor.example.com;浏览器访问 URL、docker login 地址、证书 CN 字段三者必须一致
  • https 块:生产环境必须启用;测试环境若想用 HTTP,得整段注释掉 https: 及其下所有行,并确保顶部有 https.enabled: false,同时把 http.port 改成非 80 端口(如 8080),否则宿主机 80 被占但 Harbor 不监听
  • data_volume:默认 /data,若系统盘小,建议改成独立路径如 /opt/harbor-data,且执行 chown 10000:10000 /opt/harbor-data(Harbor 容器以 UID 10000 运行,权限不对会导致 harbor-db 启动失败)

自签名证书生成与挂载路径要严格匹配

Harbor 启动时会读取 certificate 和 private_key 指定路径下的文件,路径错一个字符、权限不对、或证书 CN 与 hostname 不一致,都会导致 harbor-portal 无法响应或浏览器报 NET::ERR_CERT_COMMON_NAME_INVALID。

  • 证书生成命令中 -subj "/CN=xxx" 的 xxx 必须和 harbor.yml 中 hostname 完全相同;若用 IP 访问,还得加 -addext "subjectAltName = IP:192.168.88.240"
  • 证书文件路径必须是容器内可读的绝对路径,例如 /usr/local/harbor/tls/cert.crt;如果放在 /root/tls/,Harbor 容器默认无权访问,得用 volume 映射或提前移到 harbor/ 目录下
  • 私钥文件权限必须是 600(chmod 600 tls/cert.key),否则 nginx 容器启动时拒绝加载,日志里会出现 SSL_CTX_use_PrivateKey_file failed

启动失败时优先查这三个日志位置

别一看到 docker ps -a 里有 Exited (1) 就重装,先定位真实错误点。

  • 查 harbor-core 日志:docker logs harbor-core(不是 -f,它已退出);高频报错是 failed to connect to database: dial tcp 127.0.0.1:5432,说明 harbor-db 没起来
  • 查 harbor-db 状态:docker inspect harbor-db | grep -A 5 "Status";若 "ExitCode": 1,再看磁盘空间(df -h /data)和目录权限(ls -ld /data/database 必须属主 10000)
  • 查 harbor-portal 是否监听端口:ss -tlnp | grep ':80\|:443';若没输出,检查防火墙:firewall-cmd --list-ports(CentOS/RHEL)或 ufw status(Ubuntu),确保对应端口已放行
证书路径、hostname、UID 权限这三点,改错任意一个都可能让 Harbor 启动后立即崩溃,而且错误日志分散在不同容器里,容易误判。动手前务必逐行核对。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4010

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3413

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2593

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6310

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5942

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3473

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2965

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3199

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习