From 9537bc2654869bbc6fc4b740a674acfbcec9ab00 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Sat, 17 Jul 2021 17:13:47 +0200 Subject: [PATCH] Dockerfile.test: build containerd in separate stage Looking at how this image is used, I think we don't even need the source in the final image, so we can build containerd in a separate stage, and copy the binaries. Signed-off-by: Sebastiaan van Stijn --- contrib/Dockerfile.test | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/contrib/Dockerfile.test b/contrib/Dockerfile.test index 9cb9f7408..2bb7ad603 100644 --- a/contrib/Dockerfile.test +++ b/contrib/Dockerfile.test @@ -49,6 +49,11 @@ ARG DESTDIR=/build COPY script/setup/install-critools script/setup/critools-version ./ RUN GOBIN=$DESTDIR/usr/local/bin ./install-critools +FROM build-env AS containerd +ARG DESTDIR=/build +COPY . . +RUN make BUILDTAGS="no_btrfs no_devmapper" binaries install + # cri-in-userns stage is for testing "CRI-in-UserNS", which should be used in conjunction with # "Kubelet-in-UserNS": https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/2033-kubelet-in-userns-aka-rootless # This feature is mostly expected to be used for `kind` and `minikube`. @@ -64,8 +69,7 @@ COPY contrib/Dockerfile.test.d/cri-in-userns/docker-entrypoint.sh /docker- COPY --from=runc /build/ / COPY --from=cni /build/ / COPY --from=critools /build/ / -COPY . . -RUN make BUILDTAGS="no_btrfs no_devmapper" binaries install +COPY --from=containerd /build/ / VOLUME /var/lib/containerd ENTRYPOINT ["/docker-entrypoint.sh"] # Skip "runtime should support unsafe sysctls": `container init caused: write sysctl key fs.mqueue.msg_max: open /proc/sys/fs/mqueue/msg_max: permission denied`