docker/Dockerfile
Stephan Schnabel 2393b8fe5d
Some checks failed
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test/1 Pipeline failed
ci/woodpecker/pr/test/2 Pipeline failed
123
2025-06-19 12:01:36 +02:00

42 lines
2 KiB
Docker

# hadolint global ignore=DL3008
##
## Download docker
##
FROM docker.io/library/debian:12.9-slim@sha256:40b107342c492725bc7aacbe93a49945445191ae364184a6d24fedb28172f6f7 AS download
SHELL ["/bin/bash", "-u", "-e", "-o", "pipefail", "-c"]
WORKDIR /tmp/docker
RUN --mount=type=tmpfs,target=/var/lib/apt/lists \
--mount=type=tmpfs,target=/var/log \
--mount=type=tmpfs,target=/var/cache \
apt-get -qq update && \
apt-get -qq install --yes --no-install-recommends ca-certificates curl && \
rm -rf /etc/*- /var/lib/dpkg/*-old /var/lib/dpkg/status
RUN ARCH=$(dpkg --print-architecture) && curl --fail --silent --parallel --remote-name-all \
"https://download.docker.com/linux/debian/dists/bookworm/pool/stable/$ARCH/containerd.io_1.7.27-1_$ARCH.deb" \
"https://download.docker.com/linux/debian/dists/bookworm/pool/stable/$ARCH/docker-ce-cli_28.1.1-1~debian.12~bookworm_$ARCH.deb" \
"https://download.docker.com/linux/debian/dists/bookworm/pool/stable/$ARCH/docker-ce_28.1.1-1~debian.12~bookworm_$ARCH.deb" \
"https://download.docker.com/linux/debian/dists/bookworm/pool/stable/$ARCH/docker-ce-rootless-extras_28.1.1-1~debian.12~bookworm_$ARCH.deb"
##
## Final stage
##
FROM docker.io/library/debian:12.9-slim@sha256:40b107342c492725bc7aacbe93a49945445191ae364184a6d24fedb28172f6f7
SHELL ["/bin/bash", "-u", "-e", "-o", "pipefail", "-c"]
RUN --mount=type=bind,from=download,source=/tmp/docker,target=/tmp/docker \
--mount=type=cache,target=/var/lib/apt/lists,sharing=locked \
--mount=type=tmpfs,target=/var/log \
--mount=type=tmpfs,target=/var/cache \
ls -lA /tmp/docker/ && \
apt-get -qq update && \
apt-get -qq install --yes --no-install-recommends ca-certificates uidmap slirp4netns dbus-user-session iproute2 /tmp/docker/*.deb && \
rm -rf /etc/*- /var/lib/dpkg/*-old /var/lib/dpkg/status
RUN useradd dockerd --uid 1000 --home-dir /woodpecker/docker --create-home && \
echo dockerd:100000:65536 >/etc/subuid && \
echo dockerd:100000:65536 >/etc/subgid
USER 1000
COPY --chown=0:0 entrypoint.sh /usr/bin/entrypoint.sh
ENTRYPOINT ["/usr/bin/entrypoint.sh"]