Split rootless and with root for dockerd
Some checks failed
ci/woodpecker/push/dockerhub Pipeline was successful
ci/woodpecker/push/lint Pipeline was successful
ci/woodpecker/push/build Pipeline failed

This commit is contained in:
Stephan Schnabel 2025-06-21 09:06:01 +02:00
parent d2467219a1
commit 8811ef97a1
Signed by: stephan.schnabel
SSH key fingerprint: SHA256:99zuzxNGFb5/5P+E/O7ONU2qhUojUe/D8rIPTW+9Xp0
5 changed files with 48 additions and 5 deletions

View file

@ -61,6 +61,18 @@ steps:
org.opencontainers.image.description: Docker daemon for usage in WoodpeckerCI. org.opencontainers.image.description: Docker daemon for usage in WoodpeckerCI.
org.opencontainers.image.ref.name: kokuwaio/dockerd org.opencontainers.image.ref.name: kokuwaio/dockerd
dockerd-rootless-pr:
<<: *pr
settings:
<<: *settings-pr
name: registry.kokuwa.io/kokuwaio/dockerd:ci-${CI_PIPELINE_NUMBER}-rootless
target: dockerd-rootless
annotation:
<<: *annotation
org.opencontainers.image.title: Docker Daemon for WoodpeckerCI
org.opencontainers.image.description: Docker daemon for usage in WoodpeckerCI.
org.opencontainers.image.ref.name: kokuwaio/dockerd
cli-pr: cli-pr:
<<: *pr <<: *pr
settings: settings:
@ -110,6 +122,24 @@ steps:
org.opencontainers.image.description: Docker daemon for usage in WoodpeckerCI. org.opencontainers.image.description: Docker daemon for usage in WoodpeckerCI.
org.opencontainers.image.ref.name: kokuwaio/dockerd org.opencontainers.image.ref.name: kokuwaio/dockerd
dockerd-rootless:
<<: *push
settings:
<<: *settings-push
name:
- registry.kokuwa.io/kokuwaio/dockerd:rootless
- registry.kokuwa.io/kokuwaio/dockerd:28.2.2-rootless
- docker.io/kokuwaio/dockerd:rootless
- docker.io/kokuwaio/dockerd:28.2.2-rootless
- ghcr.io/kokuwaio/dockerd:rootless
- ghcr.io/kokuwaio/dockerd:28.2.2-rootless
target: dockerd-rootless
annotation:
<<: *annotation
org.opencontainers.image.title: Docker Daemon for WoodpeckerCI
org.opencontainers.image.description: Docker daemon for usage in WoodpeckerCI.
org.opencontainers.image.ref.name: kokuwaio/dockerd
cli: cli:
<<: *push <<: *push
settings: settings:

View file

@ -12,7 +12,7 @@ labels:
services: services:
- name: dockerd - name: dockerd
image: registry.kokuwa.io/kokuwaio/dockerd:ci-${CI_PIPELINE_NUMBER} image: registry.kokuwa.io/kokuwaio/dockerd:ci-${CI_PIPELINE_NUMBER}-rootless
ports: [2375] ports: [2375]
privileged: true privileged: true

View file

@ -5,7 +5,6 @@
## ##
FROM docker.io/library/debian:12.11-slim@sha256:e5865e6858dacc255bead044a7f2d0ad8c362433cfaa5acefb670c1edf54dfef AS download FROM docker.io/library/debian:12.11-slim@sha256:e5865e6858dacc255bead044a7f2d0ad8c362433cfaa5acefb670c1edf54dfef AS download
SHELL ["/bin/bash", "-u", "-e", "-o", "pipefail", "-c"]
WORKDIR /tmp/docker WORKDIR /tmp/docker
RUN --mount=type=cache,target=/var/lib/apt/lists,sharing=locked \ RUN --mount=type=cache,target=/var/lib/apt/lists,sharing=locked \
--mount=type=cache,target=/var/cache \ --mount=type=cache,target=/var/cache \
@ -25,7 +24,21 @@ RUN ARCH=$(dpkg --print-architecture) && curl --fail --silent --parallel --remot
## ##
FROM docker.io/library/debian:12.11-slim@sha256:e5865e6858dacc255bead044a7f2d0ad8c362433cfaa5acefb670c1edf54dfef AS dockerd FROM docker.io/library/debian:12.11-slim@sha256:e5865e6858dacc255bead044a7f2d0ad8c362433cfaa5acefb670c1edf54dfef AS dockerd
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=cache,target=/var/cache \
--mount=type=tmpfs,target=/var/log \
apt-get -qq update && \
apt-get -qq install --yes --no-install-recommends /tmp/docker/containerd*.deb /tmp/docker/docker-ce-cli* /tmp/docker/docker-ce_*.deb ca-certificates && \
rm -rf /var/lib/dpkg/*-old /var/lib/dpkg/status
COPY --chmod=555 entrypoint-rootless.sh /usr/bin/entrypoint.sh
ENTRYPOINT ["/usr/bin/entrypoint.sh"]
##
## Docker Daemon (rootless)
##
FROM docker.io/library/debian:12.11-slim@sha256:e5865e6858dacc255bead044a7f2d0ad8c362433cfaa5acefb670c1edf54dfef AS dockerd-rootless
RUN --mount=type=bind,from=download,source=/tmp/docker,target=/tmp/docker \ RUN --mount=type=bind,from=download,source=/tmp/docker,target=/tmp/docker \
--mount=type=cache,target=/var/lib/apt/lists,sharing=locked \ --mount=type=cache,target=/var/lib/apt/lists,sharing=locked \
--mount=type=cache,target=/var/cache \ --mount=type=cache,target=/var/cache \
@ -46,7 +59,6 @@ USER 1000
## ##
FROM docker.io/library/debian:12.11-slim@sha256:e5865e6858dacc255bead044a7f2d0ad8c362433cfaa5acefb670c1edf54dfef AS cli-base FROM docker.io/library/debian:12.11-slim@sha256:e5865e6858dacc255bead044a7f2d0ad8c362433cfaa5acefb670c1edf54dfef AS cli-base
SHELL ["/bin/bash", "-u", "-e", "-o", "pipefail", "-c"]
RUN --mount=type=bind,from=download,source=/tmp/docker,target=/tmp/docker \ RUN --mount=type=bind,from=download,source=/tmp/docker,target=/tmp/docker \
--mount=type=cache,target=/var/lib/apt/lists,sharing=locked \ --mount=type=cache,target=/var/lib/apt/lists,sharing=locked \
--mount=type=cache,target=/var/cache \ --mount=type=cache,target=/var/cache \

View file

@ -1,3 +1,4 @@
.* .*
!entrypoint.sh !entrypoint.sh
!entrypoint-rootless.sh

View file

@ -14,7 +14,7 @@ Also usable with Gitlab, Github or locally, see examples for usage.
## Features ## Features
- dockerd: includes rootlesskit - dockerd: with and without rootlesskit
- dockerd: configures mirror for dockerd - dockerd: configures mirror for dockerd
- cli: with buildkit - cli: with buildkit
- cli: [variants](https://hub.docker.com/r/kokuwaio/docker-cli/tags): - cli: [variants](https://hub.docker.com/r/kokuwaio/docker-cli/tags):