From b00ffdac4b5bfeb2dd7bb2e107272de775b96b57 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Tue, 19 Dec 2023 22:26:54 +0000 Subject: [PATCH] try buildx --- images/base/Dockerfile.ubuntu | 20 +++++++++++++------- images/base/docker.list | 2 +- scripts/build_images.sh | 5 ++++- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/images/base/Dockerfile.ubuntu b/images/base/Dockerfile.ubuntu index a457c1b..2a5b434 100644 --- a/images/base/Dockerfile.ubuntu +++ b/images/base/Dockerfile.ubuntu @@ -1,17 +1,23 @@ -FROM ubuntu:22.04 +FROM --platform=$BUILDPLATFORM tonistiigi/xx:1.1.0 AS xx + +FROM --platform=$BUILDPLATFORM ubuntu:22.04 +ARG TARGETPLATFORM + +# copy xx scripts to the builder stage +COPY --from=xx / / SHELL ["/bin/bash", "-c"] # Install the Docker apt repository -RUN apt-get update && \ - DEBIAN_FRONTEND="noninteractive" apt-get upgrade --yes && \ - DEBIAN_FRONTEND="noninteractive" apt-get install --yes ca-certificates +RUN xx-apt-get update && \ + DEBIAN_FRONTEND="noninteractive" xx-apt-get upgrade --yes && \ + DEBIAN_FRONTEND="noninteractive" xx-apt-get install --yes ca-certificates COPY docker-archive-keyring.gpg /usr/share/keyrings/docker-archive-keyring.gpg COPY docker.list /etc/apt/sources.list.d/docker.list # Install baseline packages -RUN apt-get update && \ - DEBIAN_FRONTEND="noninteractive" apt-get install --yes \ +RUN xx-apt-get update && \ + DEBIAN_FRONTEND="noninteractive" xx-apt-get install --yes \ bash \ build-essential \ ca-certificates \ @@ -35,7 +41,7 @@ RUN apt-get update && \ rsync && \ # Install latest Git using their official PPA add-apt-repository ppa:git-core/ppa && \ - DEBIAN_FRONTEND="noninteractive" apt-get install --yes git + DEBIAN_FRONTEND="noninteractive" xx-apt-get install --yes git # Enables Docker starting with systemd RUN systemctl enable docker diff --git a/images/base/docker.list b/images/base/docker.list index 275c6af..8202102 100644 --- a/images/base/docker.list +++ b/images/base/docker.list @@ -1 +1 @@ -deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu focal stable \ No newline at end of file +deb [signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu focal stable diff --git a/scripts/build_images.sh b/scripts/build_images.sh index e322f2d..6a9da6b 100755 --- a/scripts/build_images.sh +++ b/scripts/build_images.sh @@ -100,9 +100,12 @@ for image in "${IMAGES[@]}"; do continue fi - run_trace $DRY_RUN docker build \ + pushd "$image_dir" + run_trace $DRY_RUN docker buildx build \ "${docker_flags[@]}" \ "$image_dir" \ --file="$image_path" \ + --platform="linux/arm/v7,linux/arm64/v8,linux/amd64" \ --tag="$image_ref" \| indent + popd done