ARM环境下编译harbor
版本1.7
官方GitHub: https://github.com/goharbor/harbor
第三方:https://github.com/zhanglu0704/harbor-arm64/tree/develop
5.1. 编译harbor
原文:https://github.com/goharbor/harbor/blob/release-1.7.0/docs/compile_guide.md
别人编译好的image:https://hub.docker.com/u/congweitao
5.1.1. 环境准备
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 + |
golang不是必需的
5.1.2. clone 源码
$ git clone https://github.com/zhanglu0704/harbor-arm64.git
5.1.3. 构建与安装
- 配置
配置hostname为
$ cd harbor
$ vi make/harbor.cfg
- 修改Makefile中参数
$ vim Makefile
...
VERSIONTAG: v1.7.0
...
PKGVERSIONTAG: v1.7.0
...
- 修改Dockerfile中把amd64改为arm64
$ vim tools/swagger/Dockerfile
- 编译 & 运行
- 使用golang镜像
$ docker pull golang:1.9.2
$ make package_offline GOBUILDIMAGE=golang:1.9.2 COMPILETAG=compile_golangimage
- 使用golang环境
$ mkdir $GOPATH/src/github.com/goharbor/
$ mv harbor $GOPATH/src/github.com/goharbor/
$ cd $GOPATH/src/github.com/goharbor/harbor
$ make install -e CLAIRFLAG=true
github.com/go-openapi/runtime
github.com/jessevdk/go-flags
- 安装成功,如下提示
...
Start complete. You can visit harbor now.
安装时问题:在编译tools/migration/时由于photon:3.0-aarch64的tdnf源:https://dl.bintray.com/vmware/photon_release_3.0_aarch64/aarch64/ 缺少mariadb-server mariadb mariadb-devel包,而update源https://dl.bintray.com/vmware/photon_updates_3.0_aarch64/不存在,最终由于安装mariadb组件失败导致编译退出。 目前只能注释该Dakefile的这一部分,但是这将直接导致编译出来的goharbor/harbor-migrator镜像不可用,但这不影响docker-harbor的部署,因为这只是一个工具。
引用:https://github.com/zhanglu0704/harbor-arm64/tree/develop
离线包
我自己在arm机器上也编译成功了,放上编译好的harbor
https://download.csdn.net/download/weixin_42758707/12362106