拉取多CPU架构容器镜像推送到其他仓库

一、背景

一个docker镜像可能会有多种CPU架构的变体,有时需要把这些多架构的镜像全部从公共镜像库(如: hub.docker.com )同步到自建的库上。

二、解决方法

使用 docker buildx 多架构打包机制,进行重制推送:利用buildx的多平台打包机制,对镜像进行重新制作,并推送到自建镜像库。

  1. 创建镜像对应的 Dockerfile
  2. 利用命令下载并转发镜像
    docker buildx build -f Dockerfile -t YourRegistry:Port/Repo:Tag --platform=PlatForms . --push
    

环境里面要安装过多平台打包 buildx,这需要参考 docker 多平台打包资料

示例

  1. Dockerfile

    FROM alpine:3.16.1
    
  2. 重制推送

    docker buildx build -f Dockerfile -t yourself.registry.com:5000/os/alpine:3.16.1 --platform=linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x . --push
    

三、参考资料及附录


本文由 qingchuwudi 译制或原创,除非另有声明,在不与原著版权冲突的前提下,本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。

知识共享许可协议

你可能感兴趣的:(docker,docker,容器,CPU,镜像同步,架构)