史上最全的Ubuntu18、20、22安装harbor教程

本文详述了作者在部署Harbor过程中遇到的问题,包括安装先决条件、证书生成、配置及修复常见bug,旨在帮助新手避免踩坑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先声明,盗帖可耻,我发现有人把我文章复制到百度文库,并设置vip下载,直接照搬别人的还牟利,恶心!!!

一、前言

先说下 为什么要写这篇文章。

工作需要部署harbor,于是百度了好多教程,发现教程里都是完美结尾,但是我的安装过程各种bug。

最后发现是他们都是漏了好多东西,对于没接触过的小白来说,并不友好。于是就有了这篇文章。

二、Harbor 安装先决条件

1、硬件条件

2、系统、软件条件

 安装好docker

参考我之前的教程Ubuntu server18、20、22安装、部署Docker

三、安装Harbor

1、创建证书

a、创建一个保存证书的目录

mkdir -p /data/cert/

b、生成证书颁发机构证书

#生成 CA 证书私钥

sudo openssl genrsa -out ca.key 4096

#生成 CA 证书

openssl req -x509 -new -nodes -sha512 -days 3650 \

-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=server.yin123.com" \

-key ca.key \

-out ca.crt

c、生成服务器证书

#生成 CA 证书私钥

sudo openssl genrsa -out server.yin123.com.key 4096

#生成证书签名请求 (CSR)

sudo openssl req -sha512 -new \

-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=server.yin123.com" \

-key server.yin123.com.key \

-out server.yin123.com.csr

#生成 x509 v3 扩展文件

sudo vim v3.ext

v3.ext内容如下

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names] 
DNS.1=server.yin123.com 
DNS.2=yin123.com 
DNS.3=server

#使用该v3.ext文件Harbor 主机生成证书

sudo openssl x509 -req -sha512 -days 3650 \

-extfile v3.ext \

-CA ca.crt -CAkey ca.key -CAcreateserial \

-in server.yin123.com.csr \

-out server.yin123.com.crt

d、向 Harbor 和 Docker 提供证书

#将服务器证书和密钥复制到 Harbor 主机上的 certficates 文件夹中

cp server.yin123.com.crt /data/cert/

cp server.yin123.com.key /data/cert/

#转换crt为cert 供 Docker 使用

Docker 守护进程将.crt文件解释为 CA 证书,将.cert文件解释为客户端证书。

openssl x509 -inform PEM -in server.yin123.com.crt -out server.yin123.com.cert

#将服务器证书、密钥和 CA 文件复制到 Harbor 主机上的 Docker 证书文件夹中。必须先创建文件夹。

cp server.yin123.com.cert /etc/docker/certs.d/server.yin123.com/

cp server.yin123.com.key /etc/docker/certs.d/server.yin123.com/

cp ca.crt /etc/docker/certs.d/server.yin123.com/

#重启docker

systemctl restart docker

2、下载、安装harbor

可以去官网下载想要的版本,我这里以2.50版本为例。

tar xvf harbor-offline-installer-v2.5.0.tgz

a、复制修改配置文件

cp harbor.yml.tmpl harbor.yml

vim harbor.yml

修改相应参数,参考下图,可以修改成自己想要的

b、执行安装脚本

sudo ./install.sh

3、web访问,进行初始化

注意,此处不能用IP地址访问,ip访问会一直转圈!!!!!

必须通过域名访问才能出现登录界面,浏览器输入server.yin123.com

4、web使用,上传、拉取镜像

参考我的其他文章

harbor的web使用、上传、下拉镜像

### 安装 Harbor 港口镜像仓库 #### 准备工作 在安装 Harbor 前,需要确保系统满足以下条件: - 已经安装并运行 DockerDocker Compose。 - 打开必要的端口以支持 Harbor 的正常运作。 可以通过以下命令验证 Docker 是否已正确安装: ```bash docker --version ``` 如果未安装 Docker,则可以按照官方文档中的说明完成安装[^1]。对于 Docker Compose,需确认其路径可执行,并赋予适当权限: ```bash sudo chmod +x /usr/local/bin/docker-compose ``` 上述命令用于设置 `docker-compose` 可执行权限[^3]。 #### 下载与部署 Harbor Harbor 提供了一个便捷的脚本化安装流程。以下是具体的操作步骤: ##### 获取最新版本的 Harbor 安装包 从 VMware 官方网站下载适合当前系统的 Harbor 版本压缩包至服务器上。例如通过 wget 或 curl 实现文件传输: ```bash wget https://github.com/goharbor/harbor/releases/download/v2.9.0/harbor-offline-installer-v2.9.0.tgz tar xzvf harbor-offline-installer-v2.9.0.tgz cd harbor ``` ##### 修改配置文件 进入解压后的目录后编辑默认配置文件 `harbor.yml` 来适配环境需求。主要修改项包括但不限于域名/IP 地址、管理员密码以及是否启用 HTTPS 功能等参数设定。特别需要注意的是,当采用 HTTP 协议时应开放 80 端口;而推荐的安全模式下则要保证防火墙允许外部访问 443 (HTTPS) 和可能涉及的其他特定用途端口号如 4443[^2]。 完成后保存退出即可继续下一步骤。 ##### 初始化数据库和服务启动 运行如下指令来初始化所需的数据结构并且激活整个应用栈: ```bash ./install.sh ``` 这一步会依据先前定制化的选项自动创建好所有关联组件实例及其依赖关系网络架构图谱[^4]。 至此,Harbor 应该已经成功部署完毕,并可通过浏览器界面或者 CLI 方式管理私有容器镜像资源库了! ### 注意事项 - 如果计划长期生产环境中使用,请务必考虑安全性因素比如证书签发等问题; - 对于多节点集群场景下的高可用方案设计也需要提前规划清楚。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值