搭建 Docker Harbor 仓库是一个常见的需求,Harbor 是一个企业级的 Docker 镜像仓库,提供了镜像管理、用户权限控制、漏洞扫描等功能。以下是详细的搭建步骤:
1. 环境准备
- 操作系统:Ubuntu 20.04 或更高版本(或其他 Linux 发行版)。
- Docker:确保已安装 Docker 和 Docker Compose。
- 硬件要求:
- 至少 2 CPU 核心。
- 至少 4 GB 内存。
- 至少 40 GB 磁盘空间。
2. 安装 Docker 和 Docker Compose
如果尚未安装 Docker 和 Docker Compose,可以按照以下步骤安装:
安装 Docker
# 更新软件包索引
sudo apt update
# 安装依赖包
sudo apt install apt-transport-https ca-certificates curl software-properties-common
# 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 添加 Docker 软件源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装 Docker
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
# 启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
# 验证 Docker 是否安装成功
docker --version
安装 Docker Compose
# 下载 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 赋予执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 验证 Docker Compose 是否安装成功
docker-compose --version
3. 下载 Harbor 安装包
访问 Harbor GitHub 发布页面,下载最新版本的离线安装包(harbor-offline-installer-<version>.tgz
)。
# 下载 Harbor
wget https://github.com/goharbor/harbor/releases/download/v2.8.0/harbor-offline-installer-v2.8.0.tgz
# 解压安装包
tar -xzvf harbor-offline-installer-v2.8.0.tgz
# 进入解压后的目录
cd harbor
4. 配置 Harbor
编辑 harbor.yml
文件,配置 Harbor 的基本信息。
# 复制示例配置文件
cp harbor.yml.tmpl harbor.yml
# 编辑配置文件
nano harbor.yml
主要配置项:
- hostname:Harbor 的访问地址(例如
harbor.example.com
或 IP 地址)。 - http 或 https:选择 HTTP 或 HTTPS 协议(建议使用 HTTPS)。
- harbor_admin_password:管理员账户的默认密码。
- data_volume:Harbor 数据存储路径(默认
/data
)。
示例配置:
hostname: harbor.example.com
http:
port: 80
https:
port: 443
certificate: /path/to/certificate.crt
private_key: /path/to/private.key
harbor_admin_password: Harbor12345
data_volume: /data
5. 安装 Harbor
运行安装脚本,启动 Harbor。
sudo ./install.sh
安装完成后,Harbor 会自动启动,并监听配置文件中指定的端口。
6. 访问 Harbor
在浏览器中访问 Harbor 的地址(例如 http://harbor.example.com
或 https://harbor.example.com
),使用以下默认凭据登录:
- 用户名:
admin
- 密码:
Harbor12345
(或配置文件中指定的密码)
7. 配置 Docker 客户端
为了让 Docker 客户端能够推送和拉取镜像,需要配置 Docker 信任 Harbor 的证书(如果使用 HTTPS)。
如果使用自签名证书
-
将 Harbor 的证书复制到 Docker 客户端:
sudo mkdir -p /etc/docker/certs.d/harbor.example.com sudo cp /path/to/certificate.crt /etc/docker/certs.d/harbor.example.com/ca.crt
-
重启 Docker 服务:
sudo systemctl restart docker
-
登录到 Harbor:
docker login harbor.example.com
8. 使用 Harbor
-
推送镜像:
docker tag my-image:latest harbor.example.com/my-project/my-image:latest docker push harbor.example.com/my-project/my-image:latest
-
拉取镜像:
docker pull harbor.example.com/my-project/my-image:latest
9. 管理 Harbor
-
停止 Harbor:
sudo docker-compose down
-
启动 Harbor:
sudo docker-compose up -d
-
升级 Harbor:
- 下载新版本的 Harbor 安装包。
- 备份数据和配置文件。
- 运行升级脚本:
sudo ./prepare sudo docker-compose up -d
10. 常见问题
- 端口冲突:确保 Harbor 使用的端口(如 80、443)未被其他服务占用。
- 证书问题:如果使用 HTTPS,确保证书配置正确。
- 存储空间不足:定期清理不需要的镜像,或扩展存储空间。
通过以上步骤,你可以成功搭建并配置 Docker Harbor 仓库。如果有更多问题,欢迎随时提问!