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 定制页面 和 二次开发指南的更多相关文章

  1. ECSHOP二次开发指南

    ECSHOP二次开发指南 发布时间:2013-05-28 12:47:00   来源:   评论:0 点击: 次 [字号:大 中 小] QQ空间新浪微博腾讯微博人人网豆瓣网百度空间百度搜藏开心网复制更 ...

  2. [PC]PHPCMS二次开发指南(上)

    ------------------------------------------------------------------------------------- PHPCMS本身功能已经很完 ...

  3. PLDroidPlayer 是七牛推出的一款免费的适用于 Android 平台的播放器 SDK,采用全自研的跨平台播放内核,拥有丰富的功能和优异的性能,可高度定制化和二次开发。 https://developer.qiniu.com/pili/sdk/…

    PLDroidPlayer PLDroidPlayer 是一个适用于 Android 平台的音视频播放器 SDK,可高度定制化和二次开发,为 Android 开发者提供了简单.快捷的接口,帮助开发者在 ...

  4. ECMALL模板解析机制.MVC架构分析及文件目录说明.二次开发指南手册(转)

    ECMALL模板解析语法与机制 http://www.nowamagic.net/architecture/archt_TemplateSyntaxAndAnalysis.php ECMALL模块开发 ...

  5. ECShop二次开发指南(一)

    ECSHOP是一套完整的网络商店解决方案,包括前台的商品展示.购物流程和强大易用的后台管理.由于 ecshop简单易用,使用者几乎可以在3几分钟简单的设置一下就可以拥有一个网上商店系统,所以很多的B2 ...

  6. sitemap.xml 静态和动态生成页面 shopnc二次开发 动态生成sitemap.xml

    Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页.最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间.更改的 ...

  7. ECShop二次开发指南-文件结构(二)

      ecshop文件架构说明 注意:因各版权不一,大概参考/* ECShop 2.5.1 的结构图及各文件相应功能介绍 ECShop2.5.1_Beta upload 的目录 ┣ activity.p ...

  8. ECSHOP - 二次开发指南---购物车篇

    第一个问题 保存用户购物车数据ECSHOP的购物车数据,是以Session 方式存储在数据库里,并在Session结束后 ,Distroy 掉,解决方法是: 1.购物车内容读取方式. 更改登陆后购物车 ...

  9. 现代前端库开发指南系列(二):使用 webpack 构建一个库

    前言 在前文中,我说过本系列文章的受众是在现代前端体系下能够熟练编写业务代码的同学,因此本文在介绍 webpack 配置时,仅提及构建一个库所特有的配置,其余配置请参考 webpack 官方文档. 输 ...

随机推荐

  1. C. Mail Stamps---cf29c(离散化,图)

    题目链接:http://codeforces.com/problemset/problem/29/C 题意就是有n(1e5)个点,找到一条能把所有的点都包含在内的路径,由于点的编号是 1e9 所以不得 ...

  2. Python中的高级数据结构(转)

    add by zhj: Python中的高级数据结构 数据结构 数据结构的概念很好理解,就是用来将数据组织在一起的结构.换句话说,数据结构是用来存储一系列关联数据的东西.在Python中有四种内建的数 ...

  3. 前端 html body 内标签之input

    可以做登录页面 text是文本输入框 <!DOCTYPE html> <html lang="en"> <head> <meta char ...

  4. python的曲线平滑工具,及python画一条线中包含不同粗细不同颜色的画线方法

    from scipy.signal import savgol_filter import matplotlib.pyplot as plt cc = savgol_filter(c, 99, 1) ...

  5. Jmeter(五)mysql的增删改查

    一.导入jdbc的jar包,因为jmeter本身不能直接连接mysql,所以需要导入第三方的jar包,来连接mysql jar包下载地址:https://pan.baidu.com/s/17qQZPF ...

  6. python select poll

    http://www.cnblogs.com/coser/archive/2012/01/06/2315216.html

  7. Python 函数的使用小结

    函数的好处:提高代码复用性,简化代码,代码可扩展. 函数只有调用的时候才会被执行. 1.参数: 形参&实参:位置参数,属于必填参数:默认值参数,为非必填参数,没有传值时使用默认值:关键字参数: ...

  8. iOS App 上架(Analysis 工具使用)

    随着iOS开发的流行,针对iOS开发涉及的方方面面,早有一些公司提供了专门的解决方案或工具.这些解决方案或工具包括:用户行为统计工具(友盟,Flurry,Google Analytics等), App ...

  9. 003-spring boot项目的项目属性配置

    一.application.properties文件. 1.项目的配置文件内容.配置了端口,超时连接时间, 2.控制器. 3.访问. 二.application.yml文件 1.application ...

  10. GitHub上最热门的11款开源安全工具

    恶意软件分析.渗透测试.计算机取证——GitHub托管着一系列引人注目的安全工具.足以应对各类规模下计算环境的实际需求.  作为开源开发领域的基石,“所有漏洞皆属浅表”已经成为一条着名的原则甚至是信条 ...