【 Docker 】部署构建私有仓库Harbor

🚀 Harbor 私有 Docker 镜像仓库部署指南

Harbor 是一个 企业级 私有 Docker 镜像仓库,提供 镜像存储、用户管理、权限控制、安全扫描 等功能,适用于 企业生产环境


📌 1. 服务器环境要求

  • 操作系统:Linux(CentOS 7+/Ubuntu 20.04+/Rocky Linux 9+)
  • CPU:2 核以上
  • 内存:4GB 以上(推荐 8GB)
  • 存储:50GB 以上(根据镜像大小调整)
  • Docker 版本:28.0.0+
  • Docker Compose 版本:2.0+

📌 2. 安装 Docker 28.0.0 和 Docker Compose

📍 2.1 安装 Docker

curl -fsSL https://get.docker.com | bash
systemctl enable docker --now

📍 2.2 验证 Docker 版本

docker version

确保 Client & Server 版本均为 28.0.0 及以上。

📍 2.3 安装 Docker Compose

mkdir -p /usr/local/lib/docker/cli-plugins
curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose
chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
docker compose version

📌 3. 下载 Harbor

wget https://github.com/goharbor/harbor/releases/download/v2.9.0/harbor-offline-installer-v2.9.0.tgz
tar -zxvf harbor-offline-installer-v2.9.0.tgz
cd harbor

📌 4. 配置 Harbor

📍 4.1 复制并编辑 Harbor 配置

cp harbor.yml.tmpl harbor.yml
vi harbor.yml

修改关键参数

hostname: myharbor.example.com   # 你的域名或IP

http:
  port: 80                       # 监听端口

harbor_admin_password: "Harbor12345"  # Harbor 管理员密码

📌 5. 启动 Harbor

./install.sh

成功后访问:

http://myharbor.example.com

默认管理员账号

  • 用户名admin
  • 密码Harbor12345

📌 6. 配置 Docker 允许 Harbor 作为可信仓库

如果 Harbor 使用 HTTP(非 HTTPS),需要让 Docker 允许 Insecure Registry

vi /etc/docker/daemon.json

添加:

{
  "insecure-registries": ["myharbor.example.com"]
}

然后重启 Docker:

systemctl restart docker

📌 7. 登录 Harbor 并推送镜像

📍 7.1 登录 Harbor

docker login myharbor.example.com

输入:

  • 用户名admin
  • 密码Harbor12345

📍 7.2 创建 Harbor 项目

  1. 访问 http://myharbor.example.com
  2. 登录 后,进入 "项目",点击 "新建项目",创建一个名为 myproject 的项目。

📍 7.3 标记镜像

docker tag ubuntu:latest myharbor.example.com/myproject/ubuntu:latest

📍 7.4 推送镜像

docker push myharbor.example.com/myproject/ubuntu:latest

📍 7.5 拉取镜像

docker pull myharbor.example.com/myproject/ubuntu:latest

📌 8. 配置 HTTPS(推荐)

📍 8.1 生成自签名证书

mkdir -p /certs && cd /certs
openssl req -newkey rsa:4096 -nodes -sha256 -keyout harbor.key -x509 -days 365 -out harbor.crt

填写证书信息时,Common Name (CN) 应填写你的 Harbor 域名

📍 8.2 配置 Harbor 使用 HTTPS

编辑 harbor.yml

hostname: myharbor.example.com

https:
  port: 443
  certificate: /certs/harbor.crt
  private_key: /certs/harbor.key

📍 8.3 重新启动 Harbor

docker compose down
docker compose up -d

📍 8.4 配置 Docker 允许 Harbor HTTPS 证书

mkdir -p /etc/docker/certs.d/myharbor.example.com
cp /certs/harbor.crt /etc/docker/certs.d/myharbor.example.com/ca.crt
systemctl restart docker

📌 9. 开启 Harbor 高级功能

📍 9.1 启用 Clair(镜像扫描)

编辑 harbor.yml

clair:
  enabled: true

重启 Harbor:

docker compose down
docker compose up -d

现在可以在 Harbor 扫描镜像漏洞

📍 9.2 启用 Notary(镜像签名)

notary:
  enabled: true

Harbor 允许 对镜像进行签名,防止未经授权的修改。


📌 10. Harbor 常见管理命令

查看 Harbor 运行状态

docker compose ps

停止 Harbor

docker compose down

重启 Harbor

docker compose up -d

查看 Harbor 日志

docker logs -f harbor-core

📌 11. 总结

Harbor 是企业级 Docker 镜像仓库
支持 HTTPS、用户权限、镜像扫描
支持镜像复制、多节点部署
适用于团队和企业级生产环境

🚀 现在,你已经成功部署 Harbor 私有镜像仓库 🎉!

posted @ 2025-03-07 17:44  一条长江  阅读(573)  评论(0)    收藏  举报