harbor arm 版镜像编译

写在前面

由于 harbor 官方并没有提供 arm 版本镜像,但是提供了 harbor-arm 这个项目,这个项目主要实现通过生成编译 arm 相关镜像的配置文件,进而替换源项目中的配置文件,从而生成部署 harbor 相关的 arm 版本镜像 。


环境原料

  • arm 架构的 Linux 机器
  • docker (19.03.0 +)
  • docker-compose (1.18.0+)

环境准备

安装 docker

#下载docker安装脚本
curl -fsSL get.docker.com -o get-docker.sh

#执行脚本安装docker,它会检查环境并安装相应版本
adsh get-docker.sh

#查看docker版本
docker version

安装 docker-compose

# 下载 docker-compose-linux-aarch64
wget https://github.com/docker/compose/releases/download/v2.14.0/docker-compose-linux-aarch64

# 拷贝到 /usr/local/bin/ 目录
cp docker-compose-linux-aarch64 /usr/local/bin/docker-compose

# 添加可执行权限
chmod +x /usr/local/bin/docker-compose

# 查看版本
docker-compose version
Docker Compose version v2.14.0

开启 buildx

制作过程中要使用 docker buildx 特性,该特性是在 docker 19.03 中引入的,所以要确保使用的 docker 版本 ≥ 19.03,buildx 特性默认是关闭的,可以通过设置下面环境变量来临时开启试验特性 buildx 。

export DOCKER_CLI_EXPERIMENTAL=enabled

执行 docker buildx ls 命令,有以下输出即代表可正常使用 docker buildx 功能,且证明是可以编译 arm 镜像的。

$ docker buildx ls
NAME/NODE DRIVER/ENDPOINT STATUS  PLATFORMS
default * docker
  default default         running linux/arm64

编译镜像

下面根据 harbor-arm 的 README.md 文件提示的步骤进行操作即可,默认构建的 docker 版本是 v2.3.0。

# first step: clone harbor ARM code
git clone https://github.com/goharbor/harbor-arm.git

# execute build command:Download harbor source code
cd harbor-arm && make download

# compile redis:
make compile_redis

# Prepare to build arm architecture image data:
make prepare_arm_data

# Replace build arm image parameters:
make pre_update

# Compile harbor components:
make compile COMPILETAG=compile_golangimage

# Build harbor arm image:
make build GOBUILDTAGS="include_oss include_gcs" BUILDBIN=true NOTARYFLAG=true TRIVYFLAG=true CHARTFLAG=true GEN_TLS=true PULL_BASE_FROM_DOCKERHUB=false

导出镜像

编译完成后会生成下面这些镜像

docker images | grep dev-arm | grep -v base
goharbor/chartmuseum-photon          dev-arm             7110e1ad69b2        2 minutes ago       169MB
goharbor/trivy-adapter-photon        dev-arm             770be624346c        56 minutes ago      121MB
goharbor/notary-server-photon        dev-arm             b595ca3974da        2 hours ago         137MB
goharbor/notary-signer-photon        dev-arm             3e26eef7ef00        2 hours ago         134MB
goharbor/harbor-exporter             dev-arm             016e9f3a1a62        5 hours ago         75.2MB
goharbor/redis-photon                dev-arm             4309d3a79b6f        5 hours ago         210MB
goharbor/harbor-registryctl          dev-arm             d7b23cd2ebcb        5 hours ago         116MB
goharbor/registry-photon             dev-arm             104790e8a5e5        5 hours ago         75.1MB
goharbor/harbor-log                  dev-arm             efb99e6c50ad        6 hours ago         153MB
goharbor/harbor-jobservice           dev-arm             e5e98f5004bc        6 hours ago         186MB
goharbor/harbor-core                 dev-arm             61093c823c2e        6 hours ago         153MB
goharbor/harbor-portal               dev-arm             f5b4ca4c640c        6 hours ago         159MB
goharbor/harbor-db                   dev-arm             ee77169a3bff        6 hours ago         183MB
goharbor/prepare                     dev-arm             7e213f4aefb8        24 hours ago        258MB
goharbor/nginx-photon                dev-arm             d4b2feba0610        6 months ago        40.8MB

不出意外,应该是15个,可以将这些镜像打包,根据自己的需求来进行部署

docker save $(docker images | grep dev-arm | grep -v 'base'| awk 'BEGIN{OFS=":";ORS=" "}{print $1,$2}') -o harbor_arm_images.tar

资源

https://download.csdn.net/download/xiaocao_debug/87817759

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值