Ubuntu 部署Harbor

arbor 是由 VMware 开源的一款云原生制品仓库,Harbor 的核心功能是存储和管理 Artifact。Harbor 允许用户用命令行工具对容器镜像及其他 Artifact 进行推送和拉取,并提供了图形管理界面帮助用户查看和管理这些 Artifact。在 Harbor 2.0 版本中,除容器镜像外,Harbor 对符合 OCI 规范的 Helm Chart、CNAB、OPA Bundle 等都提供了更多的支持。

Harbor 整体架构

使用 Docker Compose 部署 Harbor

硬件要求

先安装 Docker Compose,已有则忽略

从 GitHub 下载最新版 Docker Compose 的二进制文件:

复制代码
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

赋予执行权限

复制代码
sudo chmod +x /usr/local/bin/docker-compose

验证安装

复制代码
docker-compose --version

部署Harbor

Harbo

下载Harbor的在线安装包

复制代码
wget https://github.com/goharbor/harbor/releases/download/v2.15.0/harbor-online-installer-v2.15.0.tgz
tar -xzvf harbor-online-installer-v2.15.0.tgz

创建并修改配置文件

复制代码
cd harbor
cp harbor.yml.tmpl  harbor.yml

修改配置文件,先注释HTTPS,因为要做证书校验,比较麻烦

如果要https的 可以参照官

复制代码
$ vim harbor.yml
hostname: 192.168.88.21
port: 5080

# https related config
# https:
  # https port for harbor, default is 443
  # port: 443
  # The path of cert and key files for nginx
  # certificate: /your/certificate/path
  # private_key: /your/private/key/path
  # enable strong ssl ciphers (default: false)
  # strong_ssl_ciphers: false

文件修改完成后执行

复制代码
sudo ./install.sh

出现如下错误,需要配置Docker镜像代理

执行成功

根据在harbor.yml文件中配置的端口与IP地址进行访问:http://:5080

如:http://192.168.88.21:5080

默认管理员账号admin ,初始密码Harbor12345(适用于v2.0及以上版本)。 首次部署后需通过Web界面登录并强制修改密码。

配置Mysql存储,先在mysql数据库创建账号密码

复制代码
CREATE DATABASE harbor;
CREATE USER 'harbor'@'locahost' IDENTIFIED BY 'harbor@123';
GRANT ALL PRIVILEGES ON harbor.* TO 'harbor_user'@''locahost' ';
FLUSH PRIVILEGES;

再次更改harbor.yml配置文件

复制代码
database:
 type: mysql
 host: <your_mysql_host>
 port: 3306
 username: harbor_user
 password: yourpassword
 database: harbor

重新执行

复制代码
sudo ./install.sh

设置自启

复制代码
sudo vim /etc/systemd/system/harbor.service

Harbor放在 /etc/software/harbor/,写入配置

复制代码
[Unit]
Description=Harbor Registry Service
Documentation=https://goharbor.io
After=docker.service network-online.target
Requires=docker.service
Wants=network-online.target

[Service]
Type=oneshot
WorkingDirectory=/etc/software/harbor
ExecStart=/usr/bin/docker compose up -d
ExecStop=/usr/bin/docker compose down
RemainAfterExit=yes
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

启用并启动服务

复制代码
# 重载配置
sudo systemctl daemon-reload
# 设置开机自启
sudo systemctl enable harbor
# 立即启动服务
sudo systemctl start harbor
# 查看状态
sudo systemctl status harbor
相关推荐
Zhang~Ling9 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
DeeplyMind9 小时前
Linux 深入 per-VMA lock:Linux 缺页路径如何摆脱 mmap_lock
linux·per-vma lock
爱写代码的森9 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
中微极客10 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
XMAIPC_Robot10 小时前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发
AOwhisky11 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发
重生的黑客11 小时前
Linux 进程优先级、切换与调度:从孤儿进程到 O(1) 调度模型
linux·运维·服务器·进程优先级·nice
Urbano11 小时前
夹克与商务单西口袋工序自动化技改研究报告
运维·自动化
骑上单车去旅行12 小时前
MD5校验对比脚本
linux·服务器·windows
平生幻12 小时前
Linux 常用命令
linux