构建不需要模拟的简单多架构Dockerfile
Dockerfile可以在不进行模拟的情况下轻松地构建用于多个架构的映像。在Dockerfile中使用ARG
指令,根据不同的平台设置不同的默认值,并使用FROM
指令选择来自不同架构的基础图像。
下面是一个示例Dockerfile,用于构建使用Ubuntu
和Alpine
基础图像的多架构映像:
# syntax=docker/dockerfile:1.2
ARG ARCH="amd64"
FROM --platform=linux/$ARCH ubuntu
RUN apt-get update \
&& apt-get install -y python3
FROM --platform=linux/$ARCH alpine
RUN apk add --no-cache python3
CMD python3 --version
在此示例中,我们使用ARG ARCH="amd64"
指令来设置默认的架构,并根据不同的架构选择不同的基础图像。在FROM
指令中通过--platform
选项来指定不同平台的图像,这使得不同架构的平台可以选择正确的基础图像。
要构建多架构Docker映像,请使用docker buildx
命令,它提供了构建多个平台镜像的功能。例如,使用以下命令来构建上面示例Dockerfile的多架构映像:
$ docker buildx build --platform linux/amd64,linux/arm64 -t myimage:latest .
上一篇:Buildship是什么,NetBeans是否有适用于Gradle的插件?
下一篇:Buildsoccasionallydisplayincorrectdrawableseventhoughimagesarehardcoded(构建时偶尔显示错误的可绘图,即使图像是硬编码)