Harbor----通过 Harbor 源码进行编译 Harbor

DevOps技术社区 2022-08-27 15:14:02

目录

  • 一、准备编译环境
  • 1.1 编译 Harbor 对软件环境的要求
  • 1.2 下载 harbor 源代码
  • 二、编译 Harbor
  • 2.1 从源码编译镜像
  • 2.2 将已编译好的镜像推送到私有 Harbor
  • 2.3 生成离线安装包
  • 2.4 编译安装

一、准备编译环境

1.1 编译 Harbor 对软件环境的要求

编译 Harbor 需要 docker,docker-compose,python,git,make,go环境等,具体要求如下表

SoftwareRequired Version
docker17.05 +
docker-compose1.18.0 +
python2.7 +
git1.9.1 +
make3.81 +
golang*1.15.6 +

其中 golang 为可选项,如果想使用自己的 golang 环境,则就需要安装,否则不需要,一般情况下,建议直接使用官方 golang 镜像即可

1.2 下载 harbor 源代码

git clone https://github.com/goharbor/harbor

二、编译 Harbor

2.1 从源码编译镜像

从源码编译 harbor 各个组件的镜像,tag值比如为 v3.0.0,镜像存放在本地

make build -e DEVFLAG=false COMPILETAG=compile_golangimage VERSIONTAG=v3.0.0

完成后搜索镜像如下:

[root@node1 harbor]# docker images | grep harbor |grep v3.0.0
goharbor/harbor-exporter                             v3.0.0            aa2b04d6bd6e   41 seconds ago       96.2MB
goharbor/redis-photon                                v3.0.0            d4add902ed22   59 seconds ago       165MB
goharbor/harbor-registryctl                          v3.0.0            a4435d398f5c   About a minute ago   134MB
goharbor/registry-photon                             v3.0.0            3e1747aa237e   2 minutes ago        78.1MB
goharbor/nginx-photon                                v3.0.0            14a28d36b486   3 minutes ago        45MB
goharbor/harbor-log                                  v3.0.0            9caba2b11401   3 minutes ago        159MB
goharbor/harbor-jobservice                           v3.0.0            1b6f469183ad   4 minutes ago        241MB
goharbor/harbor-core                                 v3.0.0            d16215207e8f   5 minutes ago        207MB
goharbor/harbor-portal                               v3.0.0            43081afe66fb   6 minutes ago        53.6MB
goharbor/harbor-db                                   v3.0.0            6a355218db09   8 minutes ago        225MB
goharbor/prepare                                     v3.0.0            6eb9a65377f6   9 minutes ago        254MB
[root@node1 harbor]#

2.2 将已编译好的镜像推送到私有 Harbor

比如这里 2.1 节已经编译好了 v3.0.0 的镜像,然后这里将镜像推送到私有镜像goharbor,比如 192.168.16.40:10010/goharbor/ 下,注意这里因为上面打的镜像是 goharbor,因此这里在私有的Harbor上必须创建名为 goharbor 的项目,此外,在推送之前首先需要登录一下 harbor,如下:

docker login 192.168.16.40:10010 -u xxx -p xxx

然后使用如下命令推送镜像

make pushimage -e DEVFLAG=false COMPILETAG=compile_golangimage VERSIONTAG=v3.0.0 REGISTRYSERVER=192.168.16.40:10010/ REGISTRYUSER=xxxx REGISTRYPASSWORD=xxxx REGISTRYPROJECTNAME=goharbor

完成后即可在私有的 Harbor 上发现已经存在镜像了

2.3 生成离线安装包

执行如下命令,即可生成一个离线安装版

make package_offline -e DEVFLAG=false COMPILETAG=compile_golangimage VERSIONTAG=v3.0.1

此时会生成 harbor-offline-installer-dev.tgz 压缩包,然后参照 Harbor----使用 Harbor 安装包安装部署 Harbor 进行本地安装验证,这里不再详细展开

2.4 编译安装

首先编辑 harbor.yml 文件

cp make/harbor.yml.tmpl make/harbor.yml
vi make/harbor.yml

为了简单起见,这里只修改 hostname ,然后把 https 配置注释掉

然后执行如下命令,编译并安装

make install -e DEVFLAG=false COMPILETAG=compile_golangimage VERSIONTAG=v3.0.2
...全文
806 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
该文档【云原生镜像仓库安全加速设计方案:Harbor+P2P分发结合漏洞扫描阻断流水线集成指南】共计 740 页,共51个大章节,文档支持目录章节跳转同时还支持阅读器左侧书签大纲显示和章节快速定位,文档内容完整、条理清晰。文档内所有文字、图表、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。文档仅供学习参考,请勿用作商业用途。文档前19个章节内容:【引言:云原生时代镜像仓库的安全与分发效率双重挑战、云原生镜像仓库核心技术解析:从基础架构到关键组件、Harbor镜像仓库深度剖析:架构设计与核心功能模块详解、P2P技术在镜像分发中的应用原理:突破传统分发瓶颈、漏洞扫描技术全景:从镜像层到应用依赖的全维度检测、流水线集成的核心价值:自动化安全防护的必经之路、云原生镜像仓库安全加速方案整体架构设计:Harbor+P2P+漏洞扫描的协同机制、Harbor镜像仓库环境部署前置条件:硬件与软件需求清单、Harbor源码编译与定制化配置:针对安全加速场景的优化参数、Harbor数据库初始化与存储配置:持久化方案的最佳实践、Harbor核心服务启动与状态验证:确保基础组件正常运行的步骤、Harbor用户与权限体系搭建:基于RBAC的精细化访问控制配置、Harbor项目管理与镜像分组策略:提升仓库管理效率的实用技巧、P2P分发网络核心组件选型:主流框架对比与技术选型依据、P2P节点部署环境准备:网络配置与资源分配方案、P2P tracker服务搭建与配置:节点发现与连接管理的关键设置、P2P分发客户端集成到Harbor:API对接与数据流转设计、P2P镜像分片传输机制实现:块级校验与断点续传技术细节、P2P分发网络节点动态管理:加入、退出与故障转移策略】。更多精品资源请访问 https://blog.csdn.net/ashyyyy/article/details/14646404

32

社区成员

发帖
与我相关
我的任务
社区描述
围绕测试开发、Devops、软件工程等方向,学习交流,共享技术新动态、新方向。求助工作中的问题,困惑等,互相交流,共同成长
软件工程测试工具devops 技术论坛(原bbs) 江苏省·南京市
社区管理员
  • redrose2100
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

1、社区话题和文章主要围绕DevOps技术栈

2、有广告需求请联系微信 Redrose2100

 

试试用AI创作助手写篇文章吧