Blog 页面还在持续完善中,没有那么多时间,一点一点做吧。

容器技术

Harbor ARM 版本的离线安装包


官方镜像仓库并没有提供 ARM 版本,考虑到 harbor 采用 go 语言编写,因此很容易编译出跨架构的二进制包。 好消息是发现官方最近更新了 Dockerfile 文件,明显准备开始支持 ARM 了,但是还没有出包,当然官方的支持大概率是从最新的版本开始。不管怎么样,总归是好消息。

以下方案是采用社区提供的镜像制作 ARM 离线安装包的过程, 版本号: v2.5.2 。

harbor.jpg

鉴于社区提供了 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
注意:由于 ghcr.io/octohelm/harbor/harbor-exporter:v2.5.2 没有提供 ARM 版本,所以下载了 v2.6.1 作替代。

镜像下载后,批量修改 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 对应版本的离线安装包, 这里我们主要是提取里面的安装文件进行复用。 解压后, 替换为我们前面做好的 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


阅读更多

访问本博文的相关主题 容器技术 以获取更多的精彩内容。