用docker命令行搭建harbor只需三步:环境准备(docker 19.03+、compose v2.20+、4gb内存+40gb ssd)、配置harbor.yml(设hostname、端口、证书路径、管理员密码及存储目录)、执行sudo ./install.sh --with-trivy启动服务。

环境必须满足这些条件
Harbor 是容器化部署的,底层全靠 Docker 和 Docker Compose 运行:
-
Docker Engine:19.03 或更新版本,执行
docker --version确认 -
Docker Compose:v2.20+(推荐用
docker compose命令,不是旧版docker-compose) -
服务器资源:最低 4GB 内存 + 40GB 磁盘(建议 SSD),hostname 必须能被客户端解析(如设为
harbor.local或真实域名) - 关闭 SELinux(CentOS/RHEL) 或确保策略放行,否则容器挂载会失败
下载并配置 harbor.yml
去 GitHub Releases 页面 下载离线包(推荐 harbor-offline-installer-*.tgz,免网络拉镜像):
curl -LO https://www.php.cn/link/ba07080c294e947a3fe56de53d907f9e/download/v2.10.2/harbor-offline-installer-v2.10.2.tgz tar -xzf harbor-offline-installer-v2.10.2.tgz cd harbor
复制模板并编辑配置:
cp harbor.yml.tmpl harbor.yml vim harbor.yml
重点改这几项(其他保持默认即可):
-
hostname:填你的访问地址,比如
harbor.example.com或192.168.10.100 - http.port:如用 HTTP,保留 80;但生产环境必须配 HTTPS
-
https段(启用时需取消注释):
certificate: /your/path/server.crtprivate_key: /your/path/server.key
-
harbor_admin_password:设一个强密码,比如
Harbor12345 -
data_volume:指定镜像存储路径,如
/data/harbor(提前mkdir -p /data/harbor)
运行安装脚本启动服务
在 harbor/ 目录下执行:
sudo ./install.sh --with-trivy
说明:
-
--with-trivy启用漏洞扫描(Trivy 替代已停更的 Clair),推荐加上 - 脚本会自动解压镜像、生成配置、启动 10+ 个容器(包括 nginx、core、registry、trivy 等)
- 成功后输出类似
✔ ----Harbor has been installed successfully.----
验证是否跑起来:
docker ps -f name=harbor
浏览器打开 http://your-hostname(或 https://...),用 admin + 你设的密码登录即可。
客户端首次推送镜像要加信任
如果用的是 HTTP 或自签名 HTTPS,Docker 客户端默认拒绝连接。需在客户端机器上配置 insecure registry:
- Ubuntu/CentOS:
/etc/docker/daemon.json加入:
{
"insecure-registries": ["harbor.example.com", "192.168.10.100:80"]
}
然后重启 Docker:sudo systemctl restart docker
接着就能正常登录和推送了:
docker login harbor.example.com docker tag nginx:alpine harbor.example.com/library/nginx:alpine docker push harbor.example.com/library/nginx:alpine不复杂但容易忽略细节,尤其是 hostname 解析、证书路径和 insecure 配置这三项。











