From 2e6e5425d0ba0f44b8e47b4d792734eeac7adbe8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Petazzoni?= Date: Fri, 4 Feb 2022 08:30:54 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9E=95=20Add=20platform=20check=20Dockerfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- slides/containers/Buildkit.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/slides/containers/Buildkit.md b/slides/containers/Buildkit.md index 203e3d75..4684e51e 100644 --- a/slides/containers/Buildkit.md +++ b/slides/containers/Buildkit.md @@ -325,6 +325,29 @@ class: extra-details --- +## Checking runtime capabilities + +Build and run the following Dockerfile: + +```dockerfile +FROM --platform=linux/amd64 busybox AS amd64 +FROM --platform=linux/arm64 busybox AS arm64 +FROM --platform=linux/arm/v7 busybox AS arm32 +FROM --platform=linux/386 busybox AS ia32 +FROM alpine +RUN apk add file +WORKDIR /root +COPY --from=amd64 /bin/busybox /root/amd64/busybox +COPY --from=arm64 /bin/busybox /root/arm64/busybox +COPY --from=arm32 /bin/busybox /root/arm32/busybox +COPY --from=ia32 /bin/busybox /root/ia32/busybox +CMD for A in *; do echo "$A => $($A/busybox uname -a)"; done +``` + +It will indicate which executables can be run on your engine. + +--- + ## More than builds - Buildkit is also used in other systems: