coredns
coredns copied to clipboard
Workaround for incorrect architecture on Docker Hub
1. Why is this pull request needed and what does it do?
Makefile.docker
generates correct manifest file, however, when it is pushed to Docker Hub, OS/Arch is incorrect. The problem seems to be on Docker Hub's side, as the exact same manifest would result in correct OS/Arch on ghcr.io.
2. Which issues (if any) are related?
#5363
3. Which documentation changes (if any) need to be made?
None.
4. Does this introduce a backward incompatible change or deprecation?
Modified Dockerfile requires BuildKit.
Thanks! These kind of docker issues can be mysterious (to me anyways). Can you explain why this fix works? It looks in part similar to a past attempt to fix platform mismatch issues, which was reverted due to build failure. But this PR has a couple extra changes that the other did not (dockerfile and manifest tagging change). https://github.com/coredns/coredns/pull/4897
I think the following command will test a docker build using these changes...
/docker -t 1.9.3
The command /opt/bin/docker-coredns -t 1.9.3
ran successfully. Its standard and error output is
docker-coredns: TEST ---***--- TEST ---***--- TEST
docker-coredns: Getting coredns/coredns (branch master)
Cloning into 'coredns'...
docker-coredns: Test docker building coredns/coredns (branch master) in /tmp/tmp.BSolAcuX6r/g/src/github.com/coredns/coredns
docker-coredns: PATH is /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
try_max=20; try_sleep=30; \
for arch in amd64 arm arm64 mips64le ppc64le s390x; do \
asset=coredns_1.9.3_linux_${arch}.tgz; \
for i in $(seq 1 $try_max ); do \
if [ $(curl -I -L -s -o /dev/null -w "%{http_code}" https://github.com/coredns/coredns/releases/download/v1.9.3/$asset) -eq 200 ]; then \
echo "$asset is live" ; break; \
else \
echo "$asset is not live yet..." ; sleep $try_sleep ; \
fi ; \
done ; \
if [ $i -eq $try_max ]; then \
echo "$asset is not live after $try_max tries" ; exit 1; \
fi ; \
done
coredns_1.9.3_linux_amd64.tgz is live
coredns_1.9.3_linux_arm.tgz is live
coredns_1.9.3_linux_arm64.tgz is live
coredns_1.9.3_linux_mips64le.tgz is live
coredns_1.9.3_linux_ppc64le.tgz is live
coredns_1.9.3_linux_s390x.tgz is live
for arch in amd64 arm arm64 mips64le ppc64le s390x; do \
mkdir build/docker/${arch}; \
curl -L https://github.com/coredns/coredns/releases/download/v1.9.3/coredns_1.9.3_linux_${arch}.tgz > build/docker/${arch}/coredns.tgz && \
( cd build/docker/${arch}; tar xf coredns.tgz && rm coredns.tgz ); \
cp Dockerfile build/docker/${arch} ; \
done
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 13.7M 100 13.7M 0 0 44.2M 0 --:--:-- --:--:-- --:--:-- 44.2M
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 12.9M 100 12.9M 0 0 48.6M 0 --:--:-- --:--:-- --:--:-- 48.6M
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
48 12.3M 48 6151k 0 0 28.7M 0 --:--:-- --:--:-- --:--:-- 28.7M
100 12.3M 100 12.3M 0 0 46.9M 0 --:--:-- --:--:-- --:--:-- 117M
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 11.0M 100 11.0M 0 0 46.3M 0 --:--:-- --:--:-- --:--:-- 46.3M
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
25 11.8M 25 3106k 0 0 16.4M 0 --:--:-- --:--:-- --:--:-- 16.4M
100 11.8M 100 11.8M 0 0 42.8M 0 --:--:-- --:--:-- --:--:-- 95.6M
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 13.4M 100 13.4M 0 0 47.6M 0 --:--:-- --:--:-- --:--:-- 47.6M
docker version
Client: Docker Engine - Community
Version: 20.10.14
API version: 1.41
Go version: go1.16.15
Git commit: a224086
Built: Thu Mar 24 01:48:21 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.12
API version: 1.41 (minimum version 1.12)
Go version: go1.16.12
Git commit: 459d0df
Built: Mon Dec 13 11:43:46 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.12
GitCommit: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
runc:
Version: 1.0.3
GitCommit: v1.0.3-0-gf46b6ba
docker-init:
Version: 0.19.0
GitCommit: de40ad0
for arch in amd64 arm arm64 mips64le ppc64le s390x; do \
docker build -t x/coredns:${arch}-1.9.3 build/docker/${arch} ;\
done
Sending build context to Docker daemon 48.59MB
Step 1/8 : FROM debian:stable-slim
---> a4eb8e3265f8
Step 2/8 : RUN apt-get update && apt-get -uy upgrade
---> Using cache
---> 52ebdbb7b693
Step 3/8 : RUN apt-get -y install ca-certificates && update-ca-certificates
---> Using cache
---> c48536d96bb3
Step 4/8 : FROM scratch
--->
Step 5/8 : COPY --from=0 /etc/ssl/certs /etc/ssl/certs
---> Using cache
---> adcebef0885e
Step 6/8 : ADD coredns /coredns
---> Using cache
---> adf5bacf0d47
Step 7/8 : EXPOSE 53 53/udp
---> Using cache
---> 24e3ae281db7
Step 8/8 : ENTRYPOINT ["/coredns"]
---> Using cache
---> 5185b96f0bec
Successfully built 5185b96f0bec
Successfully tagged x/coredns:amd64-1.9.3
Sending build context to Docker daemon 45.88MB
Step 1/8 : FROM debian:stable-slim
---> a4eb8e3265f8
Step 2/8 : RUN apt-get update && apt-get -uy upgrade
---> Using cache
---> 52ebdbb7b693
Step 3/8 : RUN apt-get -y install ca-certificates && update-ca-certificates
---> Using cache
---> c48536d96bb3
Step 4/8 : FROM scratch
--->
Step 5/8 : COPY --from=0 /etc/ssl/certs /etc/ssl/certs
---> Using cache
---> adcebef0885e
Step 6/8 : ADD coredns /coredns
---> Using cache
---> 5b9c8d6c6825
Step 7/8 : EXPOSE 53 53/udp
---> Using cache
---> d8dbc41069de
Step 8/8 : ENTRYPOINT ["/coredns"]
---> Using cache
---> e869f65bcbdc
Successfully built e869f65bcbdc
Successfully tagged x/coredns:arm-1.9.3
Sending build context to Docker daemon 47.45MB
Step 1/8 : FROM debian:stable-slim
---> a4eb8e3265f8
Step 2/8 : RUN apt-get update && apt-get -uy upgrade
---> Using cache
---> 52ebdbb7b693
Step 3/8 : RUN apt-get -y install ca-certificates && update-ca-certificates
---> Using cache
---> c48536d96bb3
Step 4/8 : FROM scratch
--->
Step 5/8 : COPY --from=0 /etc/ssl/certs /etc/ssl/certs
---> Using cache
---> adcebef0885e
Step 6/8 : ADD coredns /coredns
---> Using cache
---> 90ccb2e6a8ed
Step 7/8 : EXPOSE 53 53/udp
---> Using cache
---> df526d3ae184
Step 8/8 : ENTRYPOINT ["/coredns"]
---> Using cache
---> b19406328e70
Successfully built b19406328e70
Successfully tagged x/coredns:arm64-1.9.3
Sending build context to Docker daemon 52.89MB
Step 1/8 : FROM debian:stable-slim
---> a4eb8e3265f8
Step 2/8 : RUN apt-get update && apt-get -uy upgrade
---> Using cache
---> 52ebdbb7b693
Step 3/8 : RUN apt-get -y install ca-certificates && update-ca-certificates
---> Using cache
---> c48536d96bb3
Step 4/8 : FROM scratch
--->
Step 5/8 : COPY --from=0 /etc/ssl/certs /etc/ssl/certs
---> Using cache
---> adcebef0885e
Step 6/8 : ADD coredns /coredns
---> Using cache
---> 602d0a54e0fe
Step 7/8 : EXPOSE 53 53/udp
---> Using cache
---> ecf45616bccf
Step 8/8 : ENTRYPOINT ["/coredns"]
---> Using cache
---> 10993252c069
Successfully built 10993252c069
Successfully tagged x/coredns:mips64le-1.9.3
Sending build context to Docker daemon 47.58MB
Step 1/8 : FROM debian:stable-slim
---> a4eb8e3265f8
Step 2/8 : RUN apt-get update && apt-get -uy upgrade
---> Using cache
---> 52ebdbb7b693
Step 3/8 : RUN apt-get -y install ca-certificates && update-ca-certificates
---> Using cache
---> c48536d96bb3
Step 4/8 : FROM scratch
--->
Step 5/8 : COPY --from=0 /etc/ssl/certs /etc/ssl/certs
---> Using cache
---> adcebef0885e
Step 6/8 : ADD coredns /coredns
---> Using cache
---> 97ee1753d45b
Step 7/8 : EXPOSE 53 53/udp
---> Using cache
---> 0584ef9adbe2
Step 8/8 : ENTRYPOINT ["/coredns"]
---> Using cache
---> 87a1d1b650f3
Successfully built 87a1d1b650f3
Successfully tagged x/coredns:ppc64le-1.9.3
Sending build context to Docker daemon 50.79MB
Step 1/8 : FROM debian:stable-slim
---> a4eb8e3265f8
Step 2/8 : RUN apt-get update && apt-get -uy upgrade
---> Using cache
---> 52ebdbb7b693
Step 3/8 : RUN apt-get -y install ca-certificates && update-ca-certificates
---> Using cache
---> c48536d96bb3
Step 4/8 : FROM scratch
--->
Step 5/8 : COPY --from=0 /etc/ssl/certs /etc/ssl/certs
---> Using cache
---> adcebef0885e
Step 6/8 : ADD coredns /coredns
---> Using cache
---> 723f48cc6ce4
Step 7/8 : EXPOSE 53 53/udp
---> Using cache
---> 425cd5ab788c
Step 8/8 : ENTRYPOINT ["/coredns"]
---> Using cache
---> e9e8047cb9a1
Successfully built e9e8047cb9a1
Successfully tagged x/coredns:s390x-1.9.3
docker-coredns: This was a test run. Please remove /tmp/tmp.BSolAcuX6r at your leisure.
docker-coredns: TEST ---***--- TEST ---***--- TEST
The command /opt/bin/docker-coredns -t 1.9.3
ran successfully. Its standard and error output is
docker-coredns: TEST ---***--- TEST ---***--- TEST
docker-coredns: Getting coredns/coredns (branch master)
Cloning into 'coredns'...
docker-coredns: Test docker building coredns/coredns (branch master) in /tmp/tmp.FyUeaDyQMr/g/src/github.com/coredns/coredns
docker-coredns: PATH is /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
try_max=20; try_sleep=30; \
for arch in amd64 arm arm64 mips64le ppc64le s390x; do \
asset=coredns_1.9.3_linux_${arch}.tgz; \
for i in $(seq 1 $try_max ); do \
if [ $(curl -I -L -s -o /dev/null -w "%{http_code}" https://github.com/coredns/coredns/releases/download/v1.9.3/$asset) -eq 200 ]; then \
echo "$asset is live" ; break; \
else \
echo "$asset is not live yet..." ; sleep $try_sleep ; \
fi ; \
done ; \
if [ $i -eq $try_max ]; then \
echo "$asset is not live after $try_max tries" ; exit 1; \
fi ; \
done
coredns_1.9.3_linux_amd64.tgz is live
coredns_1.9.3_linux_arm.tgz is live
coredns_1.9.3_linux_arm64.tgz is live
coredns_1.9.3_linux_mips64le.tgz is live
coredns_1.9.3_linux_ppc64le.tgz is live
coredns_1.9.3_linux_s390x.tgz is live
for arch in amd64 arm arm64 mips64le ppc64le s390x; do \
mkdir build/docker/${arch}; \
curl -L https://github.com/coredns/coredns/releases/download/v1.9.3/coredns_1.9.3_linux_${arch}.tgz > build/docker/${arch}/coredns.tgz && \
( cd build/docker/${arch}; tar xf coredns.tgz && rm coredns.tgz ); \
cp Dockerfile build/docker/${arch} ; \
done
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 13.7M 100 13.7M 0 0 23.5M 0 --:--:-- --:--:-- --:--:-- 23.5M
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 12.9M 100 12.9M 0 0 50.5M 0 --:--:-- --:--:-- --:--:-- 50.5M
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 12.3M 100 12.3M 0 0 43.6M 0 --:--:-- --:--:-- --:--:-- 43.6M
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 11.0M 100 11.0M 0 0 46.7M 0 --:--:-- --:--:-- --:--:-- 46.7M
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 11.8M 100 11.8M 0 0 44.3M 0 --:--:-- --:--:-- --:--:-- 44.3M
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 13.4M 100 13.4M 0 0 46.7M 0 --:--:-- --:--:-- --:--:-- 46.7M
docker version
Client: Docker Engine - Community
Version: 20.10.14
API version: 1.41
Go version: go1.16.15
Git commit: a224086
Built: Thu Mar 24 01:48:21 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.12
API version: 1.41 (minimum version 1.12)
Go version: go1.16.12
Git commit: 459d0df
Built: Mon Dec 13 11:43:46 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.12
GitCommit: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
runc:
Version: 1.0.3
GitCommit: v1.0.3-0-gf46b6ba
docker-init:
Version: 0.19.0
GitCommit: de40ad0
for arch in amd64 arm arm64 mips64le ppc64le s390x; do \
docker build -t x/coredns:${arch}-1.9.3 build/docker/${arch} ;\
done
Sending build context to Docker daemon 48.59MB
Step 1/8 : FROM debian:stable-slim
---> a4eb8e3265f8
Step 2/8 : RUN apt-get update && apt-get -uy upgrade
---> Using cache
---> 52ebdbb7b693
Step 3/8 : RUN apt-get -y install ca-certificates && update-ca-certificates
---> Using cache
---> c48536d96bb3
Step 4/8 : FROM scratch
--->
Step 5/8 : COPY --from=0 /etc/ssl/certs /etc/ssl/certs
---> Using cache
---> adcebef0885e
Step 6/8 : ADD coredns /coredns
---> Using cache
---> adf5bacf0d47
Step 7/8 : EXPOSE 53 53/udp
---> Using cache
---> 24e3ae281db7
Step 8/8 : ENTRYPOINT ["/coredns"]
---> Using cache
---> 5185b96f0bec
Successfully built 5185b96f0bec
Successfully tagged x/coredns:amd64-1.9.3
Sending build context to Docker daemon 45.88MB
Step 1/8 : FROM debian:stable-slim
---> a4eb8e3265f8
Step 2/8 : RUN apt-get update && apt-get -uy upgrade
---> Using cache
---> 52ebdbb7b693
Step 3/8 : RUN apt-get -y install ca-certificates && update-ca-certificates
---> Using cache
---> c48536d96bb3
Step 4/8 : FROM scratch
--->
Step 5/8 : COPY --from=0 /etc/ssl/certs /etc/ssl/certs
---> Using cache
---> adcebef0885e
Step 6/8 : ADD coredns /coredns
---> Using cache
---> 5b9c8d6c6825
Step 7/8 : EXPOSE 53 53/udp
---> Using cache
---> d8dbc41069de
Step 8/8 : ENTRYPOINT ["/coredns"]
---> Using cache
---> e869f65bcbdc
Successfully built e869f65bcbdc
Successfully tagged x/coredns:arm-1.9.3
Sending build context to Docker daemon 47.45MB
Step 1/8 : FROM debian:stable-slim
---> a4eb8e3265f8
Step 2/8 : RUN apt-get update && apt-get -uy upgrade
---> Using cache
---> 52ebdbb7b693
Step 3/8 : RUN apt-get -y install ca-certificates && update-ca-certificates
---> Using cache
---> c48536d96bb3
Step 4/8 : FROM scratch
--->
Step 5/8 : COPY --from=0 /etc/ssl/certs /etc/ssl/certs
---> Using cache
---> adcebef0885e
Step 6/8 : ADD coredns /coredns
---> Using cache
---> 90ccb2e6a8ed
Step 7/8 : EXPOSE 53 53/udp
---> Using cache
---> df526d3ae184
Step 8/8 : ENTRYPOINT ["/coredns"]
---> Using cache
---> b19406328e70
Successfully built b19406328e70
Successfully tagged x/coredns:arm64-1.9.3
Sending build context to Docker daemon 52.89MB
Step 1/8 : FROM debian:stable-slim
---> a4eb8e3265f8
Step 2/8 : RUN apt-get update && apt-get -uy upgrade
---> Using cache
---> 52ebdbb7b693
Step 3/8 : RUN apt-get -y install ca-certificates && update-ca-certificates
---> Using cache
---> c48536d96bb3
Step 4/8 : FROM scratch
--->
Step 5/8 : COPY --from=0 /etc/ssl/certs /etc/ssl/certs
---> Using cache
---> adcebef0885e
Step 6/8 : ADD coredns /coredns
---> Using cache
---> 602d0a54e0fe
Step 7/8 : EXPOSE 53 53/udp
---> Using cache
---> ecf45616bccf
Step 8/8 : ENTRYPOINT ["/coredns"]
---> Using cache
---> 10993252c069
Successfully built 10993252c069
Successfully tagged x/coredns:mips64le-1.9.3
Sending build context to Docker daemon 47.58MB
Step 1/8 : FROM debian:stable-slim
---> a4eb8e3265f8
Step 2/8 : RUN apt-get update && apt-get -uy upgrade
---> Using cache
---> 52ebdbb7b693
Step 3/8 : RUN apt-get -y install ca-certificates && update-ca-certificates
---> Using cache
---> c48536d96bb3
Step 4/8 : FROM scratch
--->
Step 5/8 : COPY --from=0 /etc/ssl/certs /etc/ssl/certs
---> Using cache
---> adcebef0885e
Step 6/8 : ADD coredns /coredns
---> Using cache
---> 97ee1753d45b
Step 7/8 : EXPOSE 53 53/udp
---> Using cache
---> 0584ef9adbe2
Step 8/8 : ENTRYPOINT ["/coredns"]
---> Using cache
---> 87a1d1b650f3
Successfully built 87a1d1b650f3
Successfully tagged x/coredns:ppc64le-1.9.3
Sending build context to Docker daemon 50.79MB
Step 1/8 : FROM debian:stable-slim
---> a4eb8e3265f8
Step 2/8 : RUN apt-get update && apt-get -uy upgrade
---> Using cache
---> 52ebdbb7b693
Step 3/8 : RUN apt-get -y install ca-certificates && update-ca-certificates
---> Using cache
---> c48536d96bb3
Step 4/8 : FROM scratch
--->
Step 5/8 : COPY --from=0 /etc/ssl/certs /etc/ssl/certs
---> Using cache
---> adcebef0885e
Step 6/8 : ADD coredns /coredns
---> Using cache
---> 723f48cc6ce4
Step 7/8 : EXPOSE 53 53/udp
---> Using cache
---> 425cd5ab788c
Step 8/8 : ENTRYPOINT ["/coredns"]
---> Using cache
---> e9e8047cb9a1
Successfully built e9e8047cb9a1
Successfully tagged x/coredns:s390x-1.9.3
docker-coredns: This was a test run. Please remove /tmp/tmp.FyUeaDyQMr at your leisure.
docker-coredns: TEST ---***--- TEST ---***--- TEST
Not sure why it ran twice (probably because I edited the post). And it doesn't look like it used the code from this PR - which, in retrospect obviously it would not know to do that - it's picking up what's in master. Oh well.
This pull request is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days
@chrisohaver I found this useful in explaining the changes in this PR: https://www.docker.com/blog/faster-multi-platform-builds-dockerfile-cross-compilation-guide/
@chrisohaver I found this useful in explaining the changes in this PR: https://www.docker.com/blog/faster-multi-platform-builds-dockerfile-cross-compilation-guide/
Thanks, Although that doesn't actually answer the question, "Can you explain why this fix works?" It just explains how to build multi-arch manifests in the proposed way.
IOW, Why does the current method of compilation result in Docker Hub displaying the wrong arch, and why does doing it the proposed way result in Docker Hub displaying the correct arch? Is the current way the manifest is constructed incorrect, or is there a problem with the way the manifest is pushed, or a problem with the way Docker Hub receives or displays or serves the manifest.
If you don't know or can't explain, thats OK.
Marking this as stale since original author has not responded.
This pull request is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days
Hi @chrisohaver
Is it possible to get these reopened? Or start a new PR with the same changes.
The way this works (as discussed in https://github.com/coredns/coredns/issues/5363) is that it will use the platform flag for the base image so it will have the intended architecture to build from. Without this change the base image that is used, debian:stable-slim
, will be for the architecture of the build machine (amd64
), everything else on top will be too.
The addition of BuildKit
is just an improvement in build performance from the docker folks, and so a nice to have.
Original author can reopen if they want to follow through with the PR. It was closed due to inactivity. Of course a new PR is welcome.
I actually did some experiments after that but never had time to post my findings here. I will have some updates here in next 12 hours and re-open this PR.
Strangely, I am unable to re-open this pull request. I opened a new one #5691.