Ubuntu 安装 Harbor

一、安装 docker

原文参考传送门

1st 卸载系统自带的 docker 应用

bash 复制代码
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

2nd 设置Docker 的apt源

bash 复制代码
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

3rd 安装 docker

bash 复制代码
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

4th 测试

bash 复制代码
sudo docker run hello-world

二、安装 harbor

1st 下载 harbor 的离线安装包

下载地址

2nd 解压

bash 复制代码
tar xzvf harbor-offline-installer-version.tgz

3rd 生成相关证书

a) 生成 CA 证书私钥

bash 复制代码
openssl genrsa -out ca.key 4096

b) 生成 CA 证书

bash 复制代码
openssl req -x509 -new -nodes -sha512 -days 3650 \
 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=wayne.harbor.com" \
 -key ca.key \
 -out ca.crt

c)生成服务端证书

bash 复制代码
openssl genrsa -out wayne.harbor.com.key 4096

d)生成 CSR 文件

bash 复制代码
openssl req -sha512 -new \
    -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=wayne.harbor.com" \
    -key wayne.harbor.com.key \
    -out wayne.harbor.com.csr

e)生成 X509 V3 扩展文件

bash 复制代码
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1=wayne.harbor.com
DNS.2=wayne.harbor
DNS.3=wayne
EOF

f)生成 crt 文件

bash 复制代码
openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in wayne.harbor.com.csr \
    -out wayne.harbor.com.crt

4th 使用证书

A .harbor使用

1th 将 crt 和 key 文件,提供给 harbor 使用。

复制到/data/docker/harbor/certs中。这个 certs 文件夹可能没有。因此需要创建

2nd 复制 harbor.yml.tmpl 文件到 harbor.yml,并配置域名和证书
bash 复制代码
cp harbor.yml.tmpl harbor.yml
vim harbor.yml

B.docker 使用

1st 将之前生成的 crt 文件转换成 cert 文件,以供 docker 使用。

注意是之前生成的,而不是拷贝之后的crt

bash 复制代码
cd /data/docker/cert

openssl x509 -inform PEM -in wayne.harbor.com.crt -out wayne.harbor.com.cert

原因

The Docker daemon interprets .crt files as CA certificates and .cert files as client certificates.

2nd 将证书复制到 docker 的 certs.d对应域名的文件夹下。

如果没有文件夹,要提前建好

bash 复制代码
cp wayne.harbor.com.cert /etc/docker/certs.d/wayne.harbor.com/
cp wayne.harbor.com.key /etc/docker/certs.d/wayne.harbor.com/
cp ca.crt /etc/docker/certs.d/wayne.harbor.com/
3rd 重启 docker 服务
bash 复制代码
systemctl restart docker

5th 执行安装

在 harbor的文件夹内,执行./install.sh文件

根据提示,等待安装完成或者根据提示,进行报错修改

三、测试

安装完成后,浏览器输入 https://wayne.harbor.com 地址之后,就可以打开相关页面了

四、 问题

问题一、Chrome 访问 https 时,可能提示因为证书问题,导致无法访问的问题。

此时需要在电脑上导入自己生成的相关证书,并改为信任之后,重新打开浏览器就行

苹果

windows

问题二、火狐无法访问。

目前没有好招。

相关推荐
吕海洋1 小时前
目前可用的docker源2026.08
运维·docker·容器
gsls2008083 小时前
Penpot Docker 部署与 MCP 服务配置文档
运维·docker·容器·原型·penpot
xrlfreedom4 小时前
大厂 MCP 面试实录:本地 Server 远程化改造中的技术选型与落地实践
docker·json schema·mcp
艾伦_耶格宇8 小时前
【DOCKER容器实战】-2MySQL
运维·docker·容器
禅口魔心9 小时前
RK3576开发——Docker部署
docker·嵌入式linux
随便做点啥10 小时前
32卡×4090 24GB,Qwen3.8-27B-FP8 集群部署报告
服务器·经验分享·docker·vllm
To_OC18 小时前
跑了3个Docker容器后,我终于搞懂镜像和容器到底啥关系
后端·docker·容器
tryCbest1 天前
Docker 从零到精通:知识与跨平台使用指南
docker·容器
开始学AI1 天前
Codex2API Docker 使用宿主机代理:OAuth Token 兑换 403 问题排查与解决方案
运维·docker·容器
做前端的娜娜子1 天前
Docker 常用命令全梳理:从镜像拉取到容器编排
docker·容器·掘金·金石计划