Harbor 是一个企业级开源仓库,用于存储和管理 Docker 镜像。它提供了一系列功能,包括镜像复制、安全扫描和漏洞管理。Harbor 可以通过多种方式安装,其中之一是使用 Docker Compose。
先决条件
在安装 Harbor 之前,您需要满足以下先决条件:
- Docker 18.09 或更高版本
- Docker Compose 1.25 或更高版本
- 一个域名或 IP 地址,用于访问 Harbor
- 一个 SSL 证书,用于保护 Harbor 的通信
安装步骤
1. 创建 Harbor 数据目录
首先,创建一个目录来存储 Harbor 数据:
mkdir -p /data/harbor
2. 拉取 Harbor 镜像
接下来,拉取 Harbor 镜像:
docker pull harbor/harbor:v2.4.1
3. 创建 Docker Compose 文件
创建一个名为 docker-compose.yml
的 Docker Compose 文件,内容如下:
version: '3.7'
services:
harbor:
image: harbor/harbor:v2.4.1
container_name: harbor
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- /data/harbor:/data
environment:
- HARBOR_HTTP_PORT=80
- HARBOR_HTTPS_PORT=443
- HARBOR_ADMIN_PASSWORD=Harbor12345
- DATABASE_URL=postgresql://harbor:Harbor12345@postgres:5432/harbor
- SMTP_HOST=smtp.example.com
- SMTP_PORT=587
- SMTP_USERNAME=user
- SMTP_PASSWORD=password
- SMTP_FROM=noreply@example.com
depends_on:
- postgres
postgres:
image: postgres:13
container_name: postgres
restart: always
volumes:
- /data/postgres:/var/lib/postgresql/data
environment:
- POSTGRES_USER=harbor
- POSTGRES_PASSWORD=Harbor12345
- POSTGRES_DB=harbor
4. 运行 Docker Compose
运行 Docker Compose 命令以启动 Harbor:
docker-compose up -d
5. 初始化 Harbor
Harbor 启动后,您可以通过访问以下 URL 初始化它:
https://<your_domain_or_ip>
使用您在 Docker Compose 文件中设置的管理员密码登录。
6. 配置 SSL
要保护 Harbor 的通信,您需要配置 SSL。您可以使用以下命令生成自签名证书:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /path/to/harbor.key -out /path/to/harbor.crt
然后,将证书和密钥添加到 Docker Compose 文件中:
services:
harbor:
...
volumes:
- /path/to/harbor.crt:/etc/harbor/ssl/certificate.crt
- /path/to/harbor.key:/etc/harbor/ssl/private_key.key
...
重新运行 Docker Compose 命令以应用更改:
docker-compose up -d
7. 验证安装
Harbor 安装完成后,您可以通过访问以下 URL 验证它是否正在运行:
https://<your_domain_or_ip>
您应该能够看到 Harbor 仪表板。
结论
使用 Docker Compose 安装 Harbor 是一个简单而直接的过程。通过遵循本指南中的步骤,您可以快速轻松地设置 Harbor 实例。