Harbor安装与使用
本文最后更新于 2025年2月21日 凌晨
Harbor 是一个开源的可信云原生注册表项目,可用于存储和分发 Docker 镜像。本文将介绍如何在 Ubuntu 系统上安装和配置 Harbor,以及如何使用 Harbor 进行镜像的推送和拉取。
1 环境准备
1.1硬件要求
资源 | 最低配置 | 推荐配置 |
---|---|---|
CPU | 2 核 | 4 核 |
内存 | 4 GB | 8 GB |
磁盘 | 40 GB | 160 GB |
1.2软件要求
- 操作系统:Ubuntu 20.04 或更高版本
- Docker:20.10.10 以上版本
- Docker Compose:v1.18.0 以上版本,或 Docker Compose v2(
docker-compose-plugin
) - OpenSSL:默认已安装,可以通过
openssl version
查看
安装 Docker
更新 apt 包索引
1
sudo apt update
安装必要的依赖
1
2
3
4
5
6sudo apt install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release拉取GPG密钥
1
2
3sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg添加源
1
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
更新 apt 包索引并安装 Docker
1
2sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin查看安装版本
1
2
3
4docker -v
Docker version 28.0.0
docker compose version
Docker Compose version v2.33.0
1.3端口
harbor 要求目标主机开放以下端口,如果使用反代,后面是可以通过配置修改这些端口号的。
端口 | 协议 | 描述 |
---|---|---|
443 | HTTPS | Harbor门户和核心API在此端口接受HTTPS请求。可以在配置文件中更改此端口。 |
4443 | HTTPS | Harbor的Docker内容信任服务连接。可以在配置文件中更改此端口。 |
80 | HTTP | Harbor门户和核心API在此端口接受HTTP请求。可以在配置文件中更改此端口。 |
2 安装Harbor
2.1下载 Harbor
从 Harbor 发布页下载离线安装包:harbor-offline-installer-v2.12.2.tgz。由于文件较大,建议先下载到本地,再上传至服务器。
1 |
|
2.2修改配置文件
在软件目录下
1 |
|
我这里直接使用Harbor的nginx,并且使用https,所以需求进行下列修改:
* hostname: reg.mydomain.com改成要使用的域名
* certificate: /root/https/mydomain.pem
* private_key: /root/https/mydomain.key
如果要用外面的nginx做反代,则需要修改
- port
- external_url
2.3安装
在 Harbor 目录下执行:
1 |
|
安装日志示例:
1 |
|
安装完成后,通过域名访问。默认用户名和密码是 admin 和 Harbor12345。
3 使用
3.1用户管理
在 系统管理 -> 用户管理 界面创建用户。用户分为管理员和普通用户,默认创建为普通用户。
3.2项目管理
项目分为 私有 和 公开。公开项目允许所有用户读取,私有项目仅限特定用户访问。可以在项目的成员列表中设置访问权限。

3.3推送镜像
首先需要登录:
1 |
|
然后给想推送的镜像打TAG,标签格式:
1 |
|
实际命令示例:
1 |
|
如果是自编则就直接加上地址:
1 |
|
推送:
1 |
|
直接在web页面中,public项目里的镜像仓库
页面便能看到刚上传的镜像了

3.4拉取镜像
仍然需要先登录
1 |
|
然后拉取
1 |
|
3.5批量推送脚本
1 |
|
4 相关链接
Harbor安装与使用
https://blog.kala.love/posts/9929d428/