manifest-tool 合并生成多架构镜像

需求场景

当前有两个不同架构(如:arm64、amd64)的镜像压缩包,想把他们合并为一个多架构镜像存储到远程镜像仓库。

步骤

  1. 下载manifest-tool工具,地址:https://github.com/estesp/manifest-tool/releases/tag/v2.1.9 , 找到适合自己操作系统的版本。
  2. 把两个不同架构的镜像包分别传到远程仓库,可以使用skope或者docker直接传,假设传完后的两个镜像地址为:
  • registry.hub.com/tmp/image-name-arm:image-tag
  • registry.hub.com/tmp/image-name-amd:image-tag
  1. 编辑合并描述文件,假设名为:merge-image.yaml,文件内容:
image:  registry.hub.com/release/mage-name:image-tag
manifests:
    - image: registry.hub.com/tmp/image-name-arm:image-tag
      platform:
        architecture: arm64
        os: linux
    - image: registry.hub.com/tmp/image-name-amd:image-tag
      platform:
        architecture: amd64
        os: linux
  1. 执行合并命令
    manifest-tool --username ${镜像仓库用户名} --password ${镜像仓库密码} push from-spec ./merge_image.yaml --debug
  2. 去远程仓库验证结果
posted @ 2025-01-13 23:10  vzard  阅读(142)  评论(0)    收藏  举报