容器技术
Harbor ARM 版本的离线安装包
官方镜像仓库并没有提供 ARM 版本,考虑到 harbor 采用 go 语言编写,因此很容易编译出跨架构的二进制包。 好消息是发现官方最近更新了 Dockerfile 文件,明显准备开始支持 ARM 了,但是还没有出包,当然官方的支持大概率是从最新的版本开始。不管怎么样,总归是好消息。
以下方案是采用社区提供的镜像制作 ARM 离线安装包的过程, 版本号: v2.5.2 。
ARM 镜像下载并压缩保存
鉴于社区提供了 ARM 版本的镜像,因此省去了我们编译的步骤。地址见这里 octohelm/harbor 需要下载的镜像列表如下:
ghcr.io/octohelm/harbor/harbor-exporter v2.6.1 bd600dbb18d5 10 months ago 89.7MB ghcr.io/octohelm/harbor/harbor-core v2.5.2 7c49ec2bcb93 14 months ago 161MB ghcr.io/octohelm/harbor/harbor-jobservice v2.5.2 3afab172509b 14 months ago 175MB ghcr.io/octohelm/harbor/chartmuseum-photon v2.5.2 c987449c8845 14 months ago 182MB ghcr.io/octohelm/harbor/prepare v2.5.2 cbb0aeb4557b 14 months ago 159MB ghcr.io/octohelm/harbor/harbor-db v2.5.2 389311180c75 14 months ago 183MB ghcr.io/octohelm/harbor/notary-server-photon v2.5.2 1e37e5f16e36 14 months ago 105MB ghcr.io/octohelm/harbor/notary-signer-photon v2.5.2 c74710a08db0 14 months ago 103MB ghcr.io/octohelm/harbor/harbor-registryctl v2.5.2 4465380c19cc 14 months ago 129MB ghcr.io/octohelm/harbor/registry-photon v2.5.2 d4c89070aaae 14 months ago 74.1MB ghcr.io/octohelm/harbor/harbor-portal v2.5.2 825f4a3bbcb2 14 months ago 49.3MB ghcr.io/octohelm/harbor/harbor-log v2.5.2 b17eeb5ae0ab 14 months ago 153MB ghcr.io/octohelm/harbor/trivy-adapter-photon v2.5.2 e72a1b435cae 14 months ago 243MB ghcr.io/octohelm/harbor/redis-photon v2.5.2 516d0d61d2e0 14 months ago 146MB ghcr.io/octohelm/harbor/nginx-photon v2.5.2 f0e641317713 14 months ago 41MB
镜像下载后,批量修改 tag 换成对应的 goharbor 地址。
$ for i in `docker images | grep ghcr.io | awk 'NR>1{ print $1}'| awk -F '/' '{print $4}'` ; do docker tag ghcr.io/octohelm/harbor/$i:v2.5.2 goharbor/$i:v2.5.2 ; done
$ docker tag ghcr.io/octohelm/harbor/harbor-exporter:v2.6.1 goharbor/harbor-exporter:v2.5.2
goharbor/harbor-exporter v2.5.2 bd600dbb18d5 10 months ago 89.7MB goharbor/harbor-core v2.5.2 7c49ec2bcb93 14 months ago 161MB goharbor/harbor-jobservice v2.5.2 3afab172509b 14 months ago 175MB goharbor/chartmuseum-photon v2.5.2 c987449c8845 14 months ago 182MB goharbor/prepare v2.5.2 cbb0aeb4557b 14 months ago 159MB goharbor/harbor-db v2.5.2 389311180c75 14 months ago 183MB goharbor/notary-server-photon v2.5.2 1e37e5f16e36 14 months ago 105MB goharbor/notary-signer-photon v2.5.2 c74710a08db0 14 months ago 103MB goharbor/harbor-registryctl v2.5.2 4465380c19cc 14 months ago 129MB goharbor/registry-photon v2.5.2 d4c89070aaae 14 months ago 74.1MB goharbor/harbor-portal v2.5.2 825f4a3bbcb2 14 months ago 49.3MB goharbor/harbor-log v2.5.2 b17eeb5ae0ab 14 months ago 153MB goharbor/trivy-adapter-photon v2.5.2 e72a1b435cae 14 months ago 243MB goharbor/redis-photon v2.5.2 516d0d61d2e0 14 months ago 146MB goharbor/nginx-photon v2.5.2 f0e641317713 14 months ago 41MB
批量导出这些镜像
$ docker save \
goharbor/harbor-exporter:v2.5.2 \
goharbor/harbor-core:v2.5.2 \
goharbor/harbor-jobservice:v2.5.2 \
goharbor/chartmuseum-photon:v2.5.2 \
goharbor/prepare:v2.5.2 \
goharbor/harbor-db:v2.5.2 \
goharbor/notary-server-photon:v2.5.2 \
goharbor/notary-signer-photon:v2.5.2 \
goharbor/harbor-registryctl:v2.5.2 \
goharbor/registry-photon:v2.5.2 \
goharbor/harbor-portal:v2.5.2 \
goharbor/harbor-log:v2.5.2 \
goharbor/trivy-adapter-photon:v2.5.2 \
goharbor/redis-photon:v2.5.2 \
goharbor/nginx-photon:v2.5.2 | gzip > harbor.v2.5.2.tar.gz
查看镜像压缩文件,格式与官方是一致的。
$ tar -tf harbor.v2.5.2.tar.gz
00090aeaa524ddb971120cdcab32db7fa2e0843d617b3d9e9f84c6f9ed330bd5/
00090aeaa524ddb971120cdcab32db7fa2e0843d617b3d9e9f84c6f9ed330bd5/VERSION
00090aeaa524ddb971120cdcab32db7fa2e0843d617b3d9e9f84c6f9ed330bd5/json
00090aeaa524ddb971120cdcab32db7fa2e0843d617b3d9e9f84c6f9ed330bd5/layer.tar
0267a02499090572ef111ecd7fa786cbe42b563b48902125c1bbcbb914b13672/
0267a02499090572ef111ecd7fa786cbe42b563b48902125c1bbcbb914b13672/VERSION
0267a02499090572ef111ecd7fa786cbe42b563b48902125c1bbcbb914b13672/json
0267a02499090572ef111ecd7fa786cbe42b563b48902125c1bbcbb914b13672/layer.tar
02e9358841dbe3c189f84d7074038cd99c2b503e1adb578b966bcf3d40c9ccf4/
02e9358841dbe3c189f84d7074038cd99c2b503e1adb578b966bcf3d40c9ccf4/VERSION
02e9358841dbe3c189f84d7074038cd99c2b503e1adb578b966bcf3d40c9ccf4/json
02e9358841dbe3c189f84d7074038cd99c2b503e1adb578b966bcf3d40c9ccf4/layer.tar
..
替换官方 x86 离线安装包里面的镜像文件
在下载页 下载 x86 对应版本的离线安装包, 这里我们主要是提取里面的安装文件进行复用。
解压后, 替换为我们前面做好的 ARM 版本的镜像包 harbor.v2.5.2.tar.gz, 重新打包即可。
$ tar -tf harbor-offline-installer-arm64-v2.5.2.tgz
harbor/
harbor/common.sh
harbor/harbor.v2.5.2.tar.gz
harbor/harbor.yml.tmpl
harbor/prepare
harbor/LICENSE
harbor/install.sh
参考
如未另行说明,那么本页面中的内容已根据 知识共享署名 4.0 许可 获得了许可,并且代码示例已根据 Apache 2.0 许可 获得了许可。内容随着时间推移,可能会过期,会定时更新或移除一些旧的内容。
最后更新时间 (CST):2023-09-13
阅读更多
访问本博文的相关主题 容器技术 以获取更多的精彩内容。