一、背景
一个docker镜像可能会有多种CPU架构的变体,有时需要把这些多架构的镜像全部从公共镜像库(如: hub.docker.com )同步到自建的库上。
二、解决方法
使用 docker buildx
多架构打包机制,进行重制推送:利用buildx的多平台打包机制,对镜像进行重新制作,并推送到自建镜像库。
- 创建镜像对应的
Dockerfile
- 利用命令下载并转发镜像
docker buildx build -f Dockerfile -t YourRegistry:Port/Repo:Tag --platform=PlatForms . --push
环境里面要安装过多平台打包 buildx,这需要参考 docker 多平台打包资料
示例
-
Dockerfile
FROM alpine:3.16.1
-
重制推送
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) 进行许可。