|
@@ -1,7 +1,7 @@
|
|
|
# syntax=docker/dockerfile:1
|
|
|
|
|
|
ARG GO_VERSION=1.21.3
|
|
|
-ARG BASE_DEBIAN_DISTRO="bullseye"
|
|
|
+ARG BASE_DEBIAN_DISTRO="bookworm"
|
|
|
ARG GOLANG_IMAGE="golang:${GO_VERSION}-${BASE_DEBIAN_DISTRO}"
|
|
|
ARG XX_VERSION=1.2.1
|
|
|
|
|
@@ -16,7 +16,6 @@ ARG BUILDX_VERSION=0.12.0
|
|
|
ARG COMPOSE_VERSION=v2.20.1
|
|
|
|
|
|
ARG SYSTEMD="false"
|
|
|
-ARG DEBIAN_FRONTEND=noninteractive
|
|
|
ARG DOCKER_STATIC=1
|
|
|
|
|
|
# REGISTRY_VERSION specifies the version of the registry to download from
|
|
@@ -40,14 +39,12 @@ FROM --platform=$BUILDPLATFORM ${GOLANG_IMAGE} AS base
|
|
|
COPY --from=xx / /
|
|
|
RUN echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache
|
|
|
ARG APT_MIRROR
|
|
|
-RUN test -n "$APT_MIRROR" && sed -ri "s#(httpredir|deb|security).debian.org#${APT_MIRROR}#g" /etc/apt/sources.list || true
|
|
|
-ARG DEBIAN_FRONTEND
|
|
|
+RUN test -n "$APT_MIRROR" && sed -ri "s#(httpredir|deb|security).debian.org#${APT_MIRROR}#g" /etc/apt/sources.list.d/debian.sources || true
|
|
|
RUN apt-get update && apt-get install --no-install-recommends -y file
|
|
|
ENV GO111MODULE=off
|
|
|
ENV GOTOOLCHAIN=local
|
|
|
|
|
|
FROM base AS criu
|
|
|
-ARG DEBIAN_FRONTEND
|
|
|
ADD --chmod=0644 https://download.opensuse.org/repositories/devel:/tools:/criu/Debian_11/Release.key /etc/apt/trusted.gpg.d/criu.gpg.asc
|
|
|
RUN --mount=type=cache,sharing=locked,id=moby-criu-aptlib,target=/var/lib/apt \
|
|
|
--mount=type=cache,sharing=locked,id=moby-criu-aptcache,target=/var/cache/apt \
|
|
@@ -120,7 +117,6 @@ EOT
|
|
|
# See also frozenImages in "testutil/environment/protect.go" (which needs to
|
|
|
# be updated when adding images to this list)
|
|
|
FROM debian:${BASE_DEBIAN_DISTRO} AS frozen-images
|
|
|
-ARG DEBIAN_FRONTEND
|
|
|
RUN --mount=type=cache,sharing=locked,id=moby-frozen-images-aptlib,target=/var/lib/apt \
|
|
|
--mount=type=cache,sharing=locked,id=moby-frozen-images-aptcache,target=/var/cache/apt \
|
|
|
apt-get update && apt-get install -y --no-install-recommends \
|
|
@@ -134,7 +130,7 @@ ARG TARGETVARIANT
|
|
|
RUN /download-frozen-image-v2.sh /build \
|
|
|
busybox:latest@sha256:95cf004f559831017cdf4628aaf1bb30133677be8702a8c5f2994629f637a209 \
|
|
|
busybox:glibc@sha256:1f81263701cddf6402afe9f33fca0266d9fff379e59b1748f33d3072da71ee85 \
|
|
|
- debian:bullseye-slim@sha256:dacf278785a4daa9de07596ec739dbc07131e189942772210709c5c0777e8437 \
|
|
|
+ debian:bookworm-slim@sha256:2bc5c236e9b262645a323e9088dfa3bb1ecb16cc75811daf40a23a824d665be9 \
|
|
|
hello-world:latest@sha256:d58e752213a51785838f9eed2b7a498ffa1cb3aa7f946dda11af39286c3db9a9 \
|
|
|
arm32v7/hello-world:latest@sha256:50b8560ad574c779908da71f7ce370c0a2471c098d44d1c8f6b513c5a55eeeb1
|
|
|
|
|
@@ -208,12 +204,14 @@ RUN git fetch -q --depth 1 origin "${CONTAINERD_VERSION}" +refs/tags/*:refs/tags
|
|
|
|
|
|
FROM base AS containerd-build
|
|
|
WORKDIR /go/src/github.com/containerd/containerd
|
|
|
-ARG DEBIAN_FRONTEND
|
|
|
ARG TARGETPLATFORM
|
|
|
RUN --mount=type=cache,sharing=locked,id=moby-containerd-aptlib,target=/var/lib/apt \
|
|
|
--mount=type=cache,sharing=locked,id=moby-containerd-aptcache,target=/var/cache/apt \
|
|
|
apt-get update && xx-apt-get install -y --no-install-recommends \
|
|
|
- gcc libbtrfs-dev libsecret-1-dev
|
|
|
+ gcc \
|
|
|
+ libbtrfs-dev \
|
|
|
+ libsecret-1-dev \
|
|
|
+ pkg-config
|
|
|
ARG DOCKER_STATIC
|
|
|
RUN --mount=from=containerd-src,src=/usr/src/containerd,rw \
|
|
|
--mount=type=cache,target=/root/.cache/go-build,id=containerd-build-$TARGETPLATFORM <<EOT
|
|
@@ -291,12 +289,15 @@ RUN git fetch -q --depth 1 origin "${RUNC_VERSION}" +refs/tags/*:refs/tags/* &&
|
|
|
|
|
|
FROM base AS runc-build
|
|
|
WORKDIR /go/src/github.com/opencontainers/runc
|
|
|
-ARG DEBIAN_FRONTEND
|
|
|
ARG TARGETPLATFORM
|
|
|
RUN --mount=type=cache,sharing=locked,id=moby-runc-aptlib,target=/var/lib/apt \
|
|
|
--mount=type=cache,sharing=locked,id=moby-runc-aptcache,target=/var/cache/apt \
|
|
|
apt-get update && xx-apt-get install -y --no-install-recommends \
|
|
|
- dpkg-dev gcc libc6-dev libseccomp-dev
|
|
|
+ dpkg-dev \
|
|
|
+ gcc \
|
|
|
+ libc6-dev \
|
|
|
+ libseccomp-dev \
|
|
|
+ pkg-config
|
|
|
ARG DOCKER_STATIC
|
|
|
RUN --mount=from=runc-src,src=/usr/src/runc,rw \
|
|
|
--mount=type=cache,target=/root/.cache/go-build,id=runc-build-$TARGETPLATFORM <<EOT
|
|
@@ -323,7 +324,6 @@ RUN git fetch -q --depth 1 origin "${TINI_VERSION}" +refs/tags/*:refs/tags/* &&
|
|
|
|
|
|
FROM base AS tini-build
|
|
|
WORKDIR /go/src/github.com/krallin/tini
|
|
|
-ARG DEBIAN_FRONTEND
|
|
|
RUN --mount=type=cache,sharing=locked,id=moby-tini-aptlib,target=/var/lib/apt \
|
|
|
--mount=type=cache,sharing=locked,id=moby-tini-aptcache,target=/var/cache/apt \
|
|
|
apt-get update && apt-get install -y --no-install-recommends cmake
|
|
@@ -331,7 +331,9 @@ ARG TARGETPLATFORM
|
|
|
RUN --mount=type=cache,sharing=locked,id=moby-tini-aptlib,target=/var/lib/apt \
|
|
|
--mount=type=cache,sharing=locked,id=moby-tini-aptcache,target=/var/cache/apt \
|
|
|
xx-apt-get install -y --no-install-recommends \
|
|
|
- gcc libc6-dev
|
|
|
+ gcc \
|
|
|
+ libc6-dev \
|
|
|
+ pkg-config
|
|
|
RUN --mount=from=tini-src,src=/usr/src/tini,rw \
|
|
|
--mount=type=cache,target=/root/.cache/go-build,id=tini-build-$TARGETPLATFORM <<EOT
|
|
|
set -e
|
|
@@ -356,12 +358,13 @@ RUN git fetch -q --depth 1 origin "${ROOTLESSKIT_VERSION}" +refs/tags/*:refs/tag
|
|
|
|
|
|
FROM base AS rootlesskit-build
|
|
|
WORKDIR /go/src/github.com/rootless-containers/rootlesskit
|
|
|
-ARG DEBIAN_FRONTEND
|
|
|
ARG TARGETPLATFORM
|
|
|
RUN --mount=type=cache,sharing=locked,id=moby-rootlesskit-aptlib,target=/var/lib/apt \
|
|
|
--mount=type=cache,sharing=locked,id=moby-rootlesskit-aptcache,target=/var/cache/apt \
|
|
|
apt-get update && xx-apt-get install -y --no-install-recommends \
|
|
|
- gcc libc6-dev
|
|
|
+ gcc \
|
|
|
+ libc6-dev \
|
|
|
+ pkg-config
|
|
|
ENV GO111MODULE=on
|
|
|
ARG DOCKER_STATIC
|
|
|
RUN --mount=from=rootlesskit-src,src=/usr/src/rootlesskit,rw \
|
|
@@ -429,7 +432,11 @@ RUN git fetch -q --depth 1 origin "${CONTAINERUTILITY_VERSION}" +refs/tags/*:ref
|
|
|
FROM base AS containerutil-build
|
|
|
WORKDIR /usr/src/containerutil
|
|
|
ARG TARGETPLATFORM
|
|
|
-RUN xx-apt-get install -y --no-install-recommends gcc g++ libc6-dev
|
|
|
+RUN xx-apt-get install -y --no-install-recommends \
|
|
|
+ gcc \
|
|
|
+ g++ \
|
|
|
+ libc6-dev \
|
|
|
+ pkg-config
|
|
|
RUN --mount=from=containerutil-src,src=/usr/src/containerutil,rw \
|
|
|
--mount=type=cache,target=/root/.cache/go-build,id=containerutil-build-$TARGETPLATFORM <<EOT
|
|
|
set -e
|
|
@@ -495,7 +502,6 @@ RUN --mount=type=cache,sharing=locked,id=moby-dev-aptlib,target=/var/lib/apt \
|
|
|
ENTRYPOINT ["hack/dind-systemd"]
|
|
|
|
|
|
FROM dev-systemd-${SYSTEMD} AS dev-base
|
|
|
-ARG DEBIAN_FRONTEND
|
|
|
RUN groupadd -r docker
|
|
|
RUN useradd --create-home --gid docker unprivilegeduser \
|
|
|
&& mkdir -p /home/unprivilegeduser/.local/share/docker \
|
|
@@ -529,9 +535,6 @@ RUN --mount=type=cache,sharing=locked,id=moby-dev-aptlib,target=/var/lib/apt \
|
|
|
net-tools \
|
|
|
patch \
|
|
|
pigz \
|
|
|
- python3-pip \
|
|
|
- python3-setuptools \
|
|
|
- python3-wheel \
|
|
|
sudo \
|
|
|
systemd-journal-remote \
|
|
|
thin-provisioning-tools \
|
|
@@ -547,8 +550,6 @@ RUN --mount=type=cache,sharing=locked,id=moby-dev-aptlib,target=/var/lib/apt \
|
|
|
RUN update-alternatives --set iptables /usr/sbin/iptables-legacy || true \
|
|
|
&& update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy || true \
|
|
|
&& update-alternatives --set arptables /usr/sbin/arptables-legacy || true
|
|
|
-ARG YAMLLINT_VERSION=1.27.1
|
|
|
-RUN pip3 install yamllint==${YAMLLINT_VERSION}
|
|
|
RUN --mount=type=cache,sharing=locked,id=moby-dev-aptlib,target=/var/lib/apt \
|
|
|
--mount=type=cache,sharing=locked,id=moby-dev-aptcache,target=/var/cache/apt \
|
|
|
apt-get update && apt-get install --no-install-recommends -y \
|
|
@@ -559,7 +560,8 @@ RUN --mount=type=cache,sharing=locked,id=moby-dev-aptlib,target=/var/lib/apt \
|
|
|
libseccomp-dev \
|
|
|
libsecret-1-dev \
|
|
|
libsystemd-dev \
|
|
|
- libudev-dev
|
|
|
+ libudev-dev \
|
|
|
+ yamllint
|
|
|
COPY --link --from=dockercli /build/ /usr/local/cli
|
|
|
COPY --link --from=dockercli-integration /build/ /usr/local/cli-integration
|
|
|
|
|
@@ -568,7 +570,6 @@ COPY --from=gowinres /build/ /usr/local/bin/
|
|
|
WORKDIR /go/src/github.com/docker/docker
|
|
|
ENV GO111MODULE=off
|
|
|
ENV CGO_ENABLED=1
|
|
|
-ARG DEBIAN_FRONTEND
|
|
|
RUN --mount=type=cache,sharing=locked,id=moby-build-aptlib,target=/var/lib/apt \
|
|
|
--mount=type=cache,sharing=locked,id=moby-build-aptcache,target=/var/cache/apt \
|
|
|
apt-get update && apt-get install --no-install-recommends -y \
|
|
@@ -586,7 +587,8 @@ RUN --mount=type=cache,sharing=locked,id=moby-build-aptlib,target=/var/lib/apt \
|
|
|
libseccomp-dev \
|
|
|
libsecret-1-dev \
|
|
|
libsystemd-dev \
|
|
|
- libudev-dev
|
|
|
+ libudev-dev \
|
|
|
+ pkg-config
|
|
|
ARG DOCKER_BUILDTAGS
|
|
|
ARG DOCKER_DEBUG
|
|
|
ARG DOCKER_GITCOMMIT=HEAD
|