it编程 > 游戏开发 > ar

搭建私有仓库Harbor实现过程(亲测无坑)

39人参与 2026-04-09 ar

1. 概述

harbor 是由 vmware 公司开源的企业级 docker registry 项目,提供了基于角色的访问控制(role based access control)、镜像复制、漏洞扫描等企业级功能。

本文将介绍如何搭建 harbor 私有镜像仓库。

1.1 为什么需要私有镜像仓库

2. 环境要求

硬件配置:

3. 安装步骤

3.1 安装 docker

首先配置 docker 的阿里云镜像源:

# 安装必要工具
yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加 docker 阿里云源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安装 docker
yum install -y docker-ce docker-ce-cli containerd.io

# 配置 docker 镜像加速
mkdir -p /etc/docker
cat > /etc/docker/daemon.json <<eof
{
  "registry-mirrors": [
    "https://registry.cn-hangzhou.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com"
  ],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
eof

# 启动 docker
systemctl daemon-reload
systemctl enable docker
systemctl start docker

3.2 安装 docker compose

# 下载 docker compose 二进制文件
# 使用国内镜像下载 docker compose
wget https://mirror.ghproxy.com/https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

# 添加可执行权限
chmod +x /usr/local/bin/docker-compose

# 验证安装
docker-compose --version

# 如果上述方法都不工作,可以尝试使用 yum 安装
# yum install -y docker-compose-plugin
# 然后使用
# docker compose version

安装成功:

3.3 下载并安装 harbor

# 下载 harbor 安装包(如果下载较慢,建议使用国内镜像)
wget https://github.com/goharbor/harbor/releases/download/v2.8.3/harbor-offline-installer-v2.8.3.tgz
# 或使用以下链接:
# wget https://mirrors.aliyun.com/harbor/harbor-offline-installer-v2.8.3.tgz

# 解压安装包
tar xvf harbor-offline-installer-v2.8.3.tgz
cd harbor

# 复制配置文件模板
cp harbor.yml.tmpl harbor.yml

3.4 修改 harbor 配置文件

编辑 harbor.yml 文件:

# 修改 hostname
hostname: lzz.harbor.com  # 改为你的域名或ip地址

# 修改 https 相关配置(使用 https)
https:
  port: 443
  certificate: /data/cert/lzz.harbor.com.crt
  private_key: /data/cert/lzz.harbor.com.key

# 修改管理员密码(建议修改)
harbor_admin_password: harbor12345

# 修改数据存储路径(可选)
data_volume: /data/harbor

# 修改数据库密码(建议修改)
database:
  password: root123

3.5 生成 ssl 证书

启用 https,需要生成 ssl 证书:

# 创建证书目录
mkdir -p /data/cert
cd /data/cert

# 生成私钥
openssl genrsa -out ca.key 4096

# 生成证书
openssl req -x509 -new -nodes -sha512 -days 3650 \
  -subj "/c=cn/st=beijing/l=beijing/o=example/ou=personal/cn=lzz.harbor.com" \
  -key ca.key \
  -out ca.crt

# 生成服务器证书
openssl genrsa -out lzz.harbor.com.key 4096
openssl req -sha512 -new \
  -subj "/c=cn/st=beijing/l=beijing/o=example/ou=personal/cn=lzz.harbor.com" \
  -key lzz.harbor.com.key \
  -out lzz.harbor.com.csr

# 生成 x509 v3 扩展文件
cat > v3.ext <<-eof
authoritykeyidentifier=keyid,issuer
basicconstraints=ca:false
keyusage = digitalsignature, nonrepudiation, keyencipherment, dataencipherment
extendedkeyusage = serverauth
subjectaltname = @alt_names

[alt_names]
dns.1=lzz.harbor.com
dns.2=harbor
dns.3=hostname
eof

# 使用 v3.ext 文件为域名生成证书
openssl x509 -req -sha512 -days 3650 \
  -extfile v3.ext \
  -ca ca.crt -cakey ca.key -cacreateserial \
  -in lzz.harbor.com.csr \
  -out lzz.harbor.com.crt

3.6 安装 harbor

# 执行安装脚本
./install.sh --with-notary --with-trivy

# 验证安装
docker ps

访问可视化界面

使用 admin/harbor12345 登录

4. 配置使用

4.1 配置 docker 信任 harbor 证书

在需要访问 harbor 的客户端机器上执行:

#在140执行,发送证书到远程主机
scp /data/cert/lzz.harbor.com.crt user@target-machine:/root/
##在其他主机执行
# 创建证书目录
mkdir -p /etc/docker/certs.d/lzz.harbor.com/

# 复制证书
cp ca.crt /etc/docker/certs.d/lzz.harbor.com/

# 重启 docker
systemctl restart docker

4.2 登录 harbor

# 登录 harbor
docker login lzz.harbor.com

# 使用默认账号密码
# 用户名: admin
# 密码: harbor12345 (如果你修改过配置文件中的密码,使用修改后的密码)

登录成功

4.3 推送镜像示例

# 标记镜像
docker tag nginx:latest lzz.harbor.com/library/nginx:v1

# 推送镜像
docker push lzz.harbor.com/library/nginx:v1

# 拉取镜像
docker pull lzz.harbor.com/library/nginx:v1

5. 常见问题

5.1 无法访问 harbor 界面

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

# 或者开放需要的端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --permanent --add-port=4443/tcp
firewall-cmd --reload

5.2 推送镜像失败

5.3 harbor 服务无法启动

检查日志:

docker-compose ps
docker-compose logs

5.4 修改 harbor 配置

如果需要修改 harbor 配置:

# 停止 harbor
docker-compose down

# 修改配置文件 harbor.yml

# 重新配置
./prepare

# 启动 harbor
docker-compose up -d

6. 维护建议

6.1 定期备份

# 备份 harbor 的数据
cp -r /data/harbor /data/harbor_backup_$(date +%y%m%d)

# 备份数据库
docker-compose exec harbor-db mysqldump -u root -p harbor > harbor_db_backup_$(date +%y%m%d).sql

6.2 监控

建议配置以下监控:

6.3 安全建议

参考资料:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

您想发表意见!!点此发布评论

推荐阅读

锁屏播控中心显示效果优化! 华为鸿蒙HarmonyOS 6.0.0.328 SP52补丁包开推

04-08

40多款机型全推送! 华为鸿蒙 Harmony 6.0.0.328突然放开公测

04-01

VMware虚拟机中安装CentOS 7实践

03-30

CentOS查看压缩包文件列表实现方式

03-28

玩客云+One-KVM+cpolar的组合,实现视频信号采集+键鼠模拟+虚拟USB(IP-KVM效果)

03-28

Apache配置SSLCARevocationCheck吊销检查的实现

04-20

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论