Harbor 定制页面 和 二次开发指南
harbor的官方地址:https://github.com/goharbor/harbor
想对Harbor进行二次开发,首先要指定一个harbor的版本,这里我们以Harbor:1.6.2为例:
下载指定版本的Harbor:https://github.com/goharbor/harbor/tree/release-1.6.0
查看指定版本的官方文档:https://github.com/goharbor/harbor/blob/release-1.6.0/docs/compile_guide.md
这里要注意,一定要看指定版本的文档,否则会有意想不到的报错!友情提示!!!
第一步:需要准备的环境:
| Software | Required Version |
|---|---|
| docker | 1.12.0 + |
| docker-compose | 1.11.0 + |
| python | 2.7 + |
| git | 1.9.1 + |
| make | 3.81 + |
| golang* | 1.7.3 + |
| *optional, required only if you use your own Golang environment. |
注意:这里没有指定操作系统,我是在Centos下做的,在mac是compile是可以的,但是不能install, 看报错是因为mac下没有/var/lib/docker/tmp/****,报no such file***错
环境准备完成后就可以开始了:
第二步:下载代码:
官方的文档是git clone下的代码,由于我公司服务器对外访问受限,所以我都是下载在本机,然后通过xftp拷贝到centos上的。注意版本
第三步:Building and installing Harbor
1. 修改配置:
官方这里是修改配置,但我没有改,也一样运行和访问,这里就跳过了。
2.Build with offical Golang image
1)编译和运行:
这里官方给出了两种方案:第二种方案,我没有成功,所以这里只记录第一种方案:
先拉取go的镜像:
docker pull golang:1.9.
执行Make命令install
$ make install GOBUILDIMAGE=golang:1.9. COMPILETAG=compile_golangimage CLARITYIMAGE=goharbor/harbor-clarity-ui-builder:1.6.
这里解释一下,执行的make install命令在makefile中有定义

执行的是如下命令:
install: compile version build modify_sourcefiles prepare modify_composefile start
这里是把UI JobService AdminService等几个模块,全部编译,build成镜像 等一系列操作,然后start。
因为我是只修改了UI部分,所以我修改了一部署make的代码,只构建也ui的image。
在执行:compiling binary for clarity ui.. 这个过程中特别耗时,不知道它在做什么操作,请了解的请赐教。
还有我在服务器ui_ng目录下直接运行npm run build总是报错,所以我根本就运行不起来,只能通过镜像的方式验证修改的结果,这点比较悲催。
前端代码如下:

登录界面如下:

前端代码的dockerfile文件:
FROM photon:1.0 RUN tdnf distro-sync -y \
&& tdnf erase vim -y \
&& tdnf install sudo -y >> /dev/null\
&& tdnf clean all \
&& groupadd -r -g 10000 harbor && useradd --no-log-init -r -g 10000 -u 10000 harbor \
&& mkdir /harbor/ HEALTHCHECK CMD curl --fail -s http://127.0.0.1:8080/api/ping || exit 1
COPY ./make/dev/ui/harbor_ui ./src/favicon.ico ./make/photon/ui/start.sh ./UIVERSION /harbor/
COPY ./src/ui/views /harbor/views
COPY ./src/ui/static /harbor/static RUN chmod u+x /harbor/start.sh /harbor/harbor_ui
WORKDIR /harbor/ ENTRYPOINT ["/harbor/start.sh"]
这个harbor_ui就是所有前端代码的压缩了。
图片放在/harbor/static下了。它是把./src/ui/static 这里的图片copy过去的。
它是如何把前端代码压缩到./make/dev/ui/harbor_ui这里的,其实我没有找到:
只找到了这样一句命令:不太理解它的意思。
/usr/bin/docker run --rm -v /root/go/src/github.com/goharbor/harbor:/go/src/github.com/vmware/harbor -w /go/src/github.com/vmware/harbor/src/ui golang:1.9. /usr/local/go/bin/go build -o /go/src/github.com/vmware/harbor/make/dev/ui/harbor_ui
dev版本 也是默认版本,最后的生成的文件结构,dockfile在这里执行

构建成功后,我用docker-compose起一个harbor的运行环境,然后修改它的yml文件,把ui的镜像改成dev版本,就能测试我的结果了。
很笨拙。我还没有找到更好的办法,先用再,再研究。
// stop harbor
docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml -f ./docker-compose.chartmuseum.yml down // start harbor
docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml -f ./docker-compose.chartmuseum.yml up -d
Harbor 定制页面 和 二次开发指南的更多相关文章
- ECSHOP二次开发指南
ECSHOP二次开发指南 发布时间:2013-05-28 12:47:00 来源: 评论:0 点击: 次 [字号:大 中 小] QQ空间新浪微博腾讯微博人人网豆瓣网百度空间百度搜藏开心网复制更 ...
- [PC]PHPCMS二次开发指南(上)
------------------------------------------------------------------------------------- PHPCMS本身功能已经很完 ...
- PLDroidPlayer 是七牛推出的一款免费的适用于 Android 平台的播放器 SDK,采用全自研的跨平台播放内核,拥有丰富的功能和优异的性能,可高度定制化和二次开发。 https://developer.qiniu.com/pili/sdk/…
PLDroidPlayer PLDroidPlayer 是一个适用于 Android 平台的音视频播放器 SDK,可高度定制化和二次开发,为 Android 开发者提供了简单.快捷的接口,帮助开发者在 ...
- ECMALL模板解析机制.MVC架构分析及文件目录说明.二次开发指南手册(转)
ECMALL模板解析语法与机制 http://www.nowamagic.net/architecture/archt_TemplateSyntaxAndAnalysis.php ECMALL模块开发 ...
- ECShop二次开发指南(一)
ECSHOP是一套完整的网络商店解决方案,包括前台的商品展示.购物流程和强大易用的后台管理.由于 ecshop简单易用,使用者几乎可以在3几分钟简单的设置一下就可以拥有一个网上商店系统,所以很多的B2 ...
- sitemap.xml 静态和动态生成页面 shopnc二次开发 动态生成sitemap.xml
Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页.最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间.更改的 ...
- ECShop二次开发指南-文件结构(二)
ecshop文件架构说明 注意:因各版权不一,大概参考/* ECShop 2.5.1 的结构图及各文件相应功能介绍 ECShop2.5.1_Beta upload 的目录 ┣ activity.p ...
- ECSHOP - 二次开发指南---购物车篇
第一个问题 保存用户购物车数据ECSHOP的购物车数据,是以Session 方式存储在数据库里,并在Session结束后 ,Distroy 掉,解决方法是: 1.购物车内容读取方式. 更改登陆后购物车 ...
- 现代前端库开发指南系列(二):使用 webpack 构建一个库
前言 在前文中,我说过本系列文章的受众是在现代前端体系下能够熟练编写业务代码的同学,因此本文在介绍 webpack 配置时,仅提及构建一个库所特有的配置,其余配置请参考 webpack 官方文档. 输 ...
随机推荐
- 使用Nana进行C++ GUI开发
Nana官网地址:nanapro.org 简单示例:NanaDemo.cpp #include <nana/gui.hpp> #include <nana/gui/widgets/b ...
- HDFS集群启动start-dfs.sh报错
[root@master sbin]# start-dfs.sh Starting namenodes on [master] master: Error: JAVA_HOME is not set ...
- Android设置透明状态栏和透明导航栏
Android透明状态栏只有在4.4之后有. 在代码中加入下面几行代码即可实现
- point in polygon algorithm
Point-In-Polygon Algorithm — Determining Whether A Point Is Inside A Complex Polygon © 1998,2006,200 ...
- 【我的Android进阶之旅】推荐一款视频转换GIF图片格式的转换工具(Video to GIF)
一.背景 最近想把一些Android Demo的运行效果图获取下来,但是一直使用真机进行调试,在电脑上不好截取一段gif动画.而之前使用模拟器的时候可以使用 GifCam 工具进行屏幕动画截取.Gif ...
- PL/SQL 创建用户及权限操作
1.创建User create user user01 identified by user01, 2.赋予连接数据库的权限 grant connect to user01; 3.把user00的表E ...
- SQL Server返回插入数据的ID和受影响的行数
首先看看数据库里面的数据(S_Id为自增长标识列): sql server 中返回上一次插入数据的ID(标识值)有三种方式: 第一种 @@IDENTITY: insert into Student(S ...
- PKU 3318 Matrix Multiplication(随机化算法||状态压缩)
题目大意:原题链接 给定三个n*n的矩阵A,B,C,验证A*B=C是否成立. 所有解法中因为只测试一组数据,因此没有使用memset清零 Hint中给的傻乎乎的TLE版本: #include<c ...
- Spring入门学习推荐
该作者的 spring 博客很好,作为学习用 简介 https://blog.csdn.net/column/details/15088.html?&page=1 https://blog.c ...
- 开源BBS论坛软件推荐
七款开源BBS论坛软件推荐(1) 本文介绍了七个开源的BBS论坛软件(在英文界一般叫做Forum).可能国内的朋友们比较熟悉Discuz!和PHPwind,但其实我们的选择还是很多的,而且下面介绍的这 ...