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 Compose 完全入门:一键启动所有容器
运维·docker·容器·docker compose
云原生指北5 小时前
Apple Container Machine:把 Linux 搬进 Mac
macos·docker
隐层漫游者9 小时前
2026全网最细Docker容器化实战!从安装配置到Milvus向量数据库部署,一文掌握核心精髓(建议收藏)
docker
加加and减减11 小时前
Docker真实安装mysql8教程并优化配置
运维·mysql·docker·容器
半夜燃烧的香烟12 小时前
docker 安装minio nginx,配置nginx根据文根路由minio展示图片
java·nginx·docker
qiuziqiqi13 小时前
ocker-compose.yml 和Dockerfile 区别
运维·docker·容器
“码”力全开13 小时前
【架构深探】基于Docker与GB28181/RTSP的边缘计算AI视频管理平台:异构算力调度与源码交付实践
人工智能·docker·架构
qq75903536614 小时前
2026 docker run启动的容器通过命令导出为docker-composer.yml文件
docker·eureka·composer
极客先躯15 小时前
高级java每日一道面试题-2026年02月03日-实战篇[Docker]-如何备份和恢复 Docker Volume?
运维·docker·容器·自动化·备份·持久化·恢复
“码”力全开15 小时前
基于 Docker 与边缘计算的 AI 视频管理平台:打破 GB28181/RTSP 协议壁垒与源码交付架构解析
人工智能·docker·边缘计算