三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

【Harbor 】Harbor 私有镜像仓库部署

【Harbor 】Harbor 私有镜像仓库部署

一、环境要求

  • 操作系统:CentOS 7+/Ubuntu 18.04+(推荐 CentOS7/8)
  • 硬件配置:内存≥4G,磁盘≥50G
  • 依赖软件:
    • Docker ≥ 20.10
    • docker-compose ≥ 2.20

版本检查命令:

docker--versiondockercompose version

二、离线包下载

使用清华镜像站下载离线安装包:

wgethttps://mirrors.tuna.tsinghua.edu.cn/github-release/goharbor/harbor/v2.14.4/harbor-offline-installer-v2.14.4.tgz

三、解压与配置文件初始化

# 解压安装包tar-zxvfharbor-offline-installer-v2.14.4.tgz# 进入目录cdharbor# 复制配置模板cpharbor.yml.tmpl harbor.yml

四、基础配置(HTTP 模式,通用最简配置)

编辑配置文件:

viharbor.yml

修改以下配置项,全程使用通用地址,不暴露真实IP

# 仓库访问地址(服务器IP/域名)hostname:仓库访问地址# HTTP 访问端口,可自定义http:port:自定义端口# 关闭HTTPS(无证书场景)# https:# port: 443# certificate: /your/cert/path# private_key: /your/key/path# 管理员登录密码,自行设置强密码harbor_admin_password:自定义密码# 镜像数据存储目录data_volume:/data/harbor# 日志配置log:level:infolocal:rotate_count:50rotate_size:200Mlocation:/var/log/harbor

保存退出:Esc→ 输入:wq回车

五、初始化 & 安装启动

# 生成组件配置、校验配置文件./prepare# 执行安装并启动所有服务./install.sh

出现----Harbor has been installed and started successfully.----代表安装成功。

六、防火墙放行端口

# CentOS firewalld 放行自定义端口firewall-cmd --add-port=自定义端口/tcp--permanentfirewall-cmd--reload# Ubuntu ufw 放行端口(二选一执行)# ufw allow 自定义端口/tcp

七、网页端访问仓库

浏览器输入地址:

http://仓库访问地址:自定义端口
  • 登录账号:admin
  • 登录密码:harbor.yml中设置的自定义密码

前置操作:网页端提前创建项目(示例项目名:项目名称

八、Docker 客户端全局配置(所有使用机器必做)

Docker 默认拒绝纯HTTP仓库,需配置信任非安全仓库:

  1. 编辑Docker守护进程配置
vi/etc/docker/daemon.json
  1. 写入配置(替换为你的仓库地址+端口)
{"insecure-registries":["仓库访问地址:自定义端口"]}
  1. 重启Docker生效
systemctl restartdocker

九、镜像推送完整流程

1. 镜像打标签

格式:docker tag 本地镜像名:标签 仓库地址:端口/项目名称/镜像名:标签

# 示例:本地 nginx:1.30.1 镜像打标签dockertag nginx:1.30.1 仓库访问地址:自定义端口/项目名称/nginx:1.30.1

2. 登录私有仓库

dockerlogin 仓库访问地址:自定义端口

根据提示输入账号admin和仓库密码。

3. 推送镜像至仓库

dockerpush 仓库访问地址:自定义端口/项目名称/nginx:1.30.1

十、镜像拉取完整流程

在任意已配置信任规则的客户端机器执行:

方式1:直接拉取(常用)

dockerpull 仓库访问地址:自定义端口/项目名称/nginx:1.30.1

方式2:拉取后重命名(还原为本地镜像名)

# 拉取仓库镜像dockerpull 仓库访问地址:自定义端口/项目名称/nginx:1.30.1# 重命名为本地常规名称dockertag 仓库访问地址:自定义端口/项目名称/nginx:1.30.1 nginx:1.30.1# 删除仓库格式镜像(可选)dockerrmi 仓库访问地址:自定义端口/项目名称/nginx:1.30.1

十一、Harbor 日常运维命令

需进入 harbor 安装目录执行:

cd/安装路径/harbor# 启动服务docker-composeup-d# 停止服务docker-composedown# 查看所有组件运行状态docker-composeps# 实时查看运行日志docker-composelogs-f

十二、进阶:生产环境开启 HTTPS(可选)

  1. 准备域名及SSL证书(公钥、私钥),上传至服务器指定目录
  2. 编辑harbor.yml,注释HTTP配置,开启HTTPS并填写证书路径
hostname:仓库域名# http:# port: 80https:port:443certificate:证书公钥绝对路径private_key:证书私钥绝对路径
  1. 重新初始化并生效配置
./prepare ./install.sh

开启正规HTTPS证书后,客户端无需配置insecure-registries

十三、常见报错说明

报错:http: server gave HTTP response to HTTPS client
原因:客户端默认使用HTTPS访问纯HTTP仓库
解决:严格执行第八步 Docker客户端信任配置,重启Docker后重试登录、推拉镜像。

← 返回列表