方式一
要创建一个多平台运行的 Docker 镜像并推送到远程的镜像仓库,可以按照以下步骤操作:
-
编写 Dockerfile 文件,定义镜像的构建规则和所需的依赖项。
-
使用 Docker buildx 命令创建一个构建器实例,该实例可以构建多个平台的镜像:
docker buildx create --name mybuilder docker buildx use mybuilder
-
设置构建器实例支持的多个平台:
docker buildx inspect --bootstrap docker buildx inspect --platforms linux/amd64,linux/arm64,linux/arm/v7
-
使用 Docker buildx 命令构建镜像,并将其推送到远程镜像仓库:
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t myrepo/myimage:latest --push .
其中,--platform
参数指定了要构建的平台列表,-t
参数指定了镜像的名称和标签,.
表示当前目录是 Dockerfile 所在的目录。
tip:
以上步骤可以在命令行中执行,也可以写成脚本以便重复使用。
方式二
在旧版本的 Docker 中,可以使用以下步骤设置构建器实例支持多个平台:
-
创建构建器实例:
docker buildx create --name mybuilder docker buildx use mybuilder
-
向构建器实例添加支持的平台:
docker buildx inspect --bootstrap docker buildx append --platform linux/amd64,linux/arm64,linux/arm/v7 mybuilder
-
然后您可以使用
docker buildx build
命令构建多平台的镜像并将其推送到远程仓库。docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t myrepo/myimage:latest --push .
请注意,如果您的 Docker 版本太老,可能会遇到其他问题,建议升级到最新版本的 Docker。