@@ -18,11 +18,13 @@ ARG AZURITE_VERSION=3.33.0
18
18
ARG GOTESTSUM_VERSION=v1.9.0
19
19
ARG DELVE_VERSION=v1.23.1
20
20
21
- ARG GO_VERSION=1.24
21
+ ARG EXPORT_BASE=ubuntu
22
22
ARG ALPINE_VERSION=3.21
23
+ ARG UBUNTU_VERSION=24.04
24
+
25
+ ARG GO_VERSION=1.24
23
26
ARG XX_VERSION=1.6.1
24
27
ARG BUILDKIT_DEBUG
25
- ARG EXPORT_BASE=alpine
26
28
27
29
# minio for s3 integration tests
28
30
FROM minio/minio:${MINIO_VERSION} AS minio
@@ -200,28 +202,26 @@ RUN --mount=from=binaries \
200
202
FROM scratch AS release
201
203
COPY --link --from=releaser /out/ /
202
204
203
- FROM alpine:${ALPINE_VERSION} AS buildkit-export-alpine
204
- RUN apk add --no-cache fuse3 git openssh pigz xz iptables ip6tables \
205
- && ln -s fusermount3 /usr/bin/fusermount
206
- COPY --link examples/buildctl-daemonless/buildctl-daemonless.sh /usr/bin/
207
- VOLUME /var/lib/buildkit
208
-
209
- FROM ubuntu:24.04 AS buildkit-export-ubuntu
205
+ FROM ubuntu:${UBUNTU_VERSION} AS buildkit-export-ubuntu
210
206
RUN apt-get update \
211
207
&& apt-get install -y --no-install-recommends \
208
+ ca-certificates \
212
209
fuse3 \
213
210
git \
211
+ iptables \
214
212
openssh-client \
215
213
pigz \
216
214
xz-utils \
217
- iptables \
218
- ca-certificates \
219
215
&& rm -rf /var/lib/apt/lists/*
220
- COPY --link examples/buildctl-daemonless/buildctl-daemonless.sh /usr/bin/
221
- VOLUME /var/lib/buildkit
216
+
217
+ FROM alpine:${ALPINE_VERSION} AS buildkit-export-alpine
218
+ RUN apk add --no-cache fuse3 git openssh pigz xz iptables ip6tables \
219
+ && ln -s fusermount3 /usr/bin/fusermount
222
220
223
221
FROM buildkit-export-${EXPORT_BASE} AS buildkit-export
224
222
RUN mkdir -p /etc/cdi /var/run/cdi /etc/buildkit/cdi
223
+ COPY --link examples/buildctl-daemonless/buildctl-daemonless.sh /usr/bin/
224
+ VOLUME /var/lib/buildkit
225
225
226
226
FROM gobuild-base AS containerd-build
227
227
WORKDIR /go/src/github.com/containerd/containerd
@@ -456,13 +456,24 @@ ENV BUILDKIT_RUN_NETWORK_INTEGRATION_TESTS=1 BUILDKIT_CNI_INIT_LOCK_PATH=/run/bu
456
456
FROM integration-tests AS dev-env
457
457
VOLUME /var/lib/buildkit
458
458
459
- # rootless builds a rootless variant of buildkitd image
460
- FROM alpine:${ALPINE_VERSION} AS rootless
459
+ FROM ubuntu:${UBUNTU_VERSION} AS rootless-ubuntu
460
+ RUN apt-get update \
461
+ && apt-get install -y --no-install-recommends fuse3 fuse-overlayfs git openssh-client pigz uidmap xz-utils \
462
+ && rm -rf /var/lib/apt/lists/*
463
+ RUN adduser --disabled-password --gecos "" --uid 1000 user \
464
+ && mkdir -p /run/user/1000 /home/user/.local/tmp /home/user/.local/share/buildkit \
465
+ && chown -R user /run/user/1000 /home/user \
466
+ && echo user:100000:65536 | tee /etc/subuid | tee /etc/subgid
467
+
468
+ FROM alpine:${ALPINE_VERSION} AS rootless-alpine
461
469
RUN apk add --no-cache fuse3 fuse-overlayfs git openssh pigz shadow-uidmap xz
462
470
RUN adduser -D -u 1000 user \
463
471
&& mkdir -p /run/user/1000 /home/user/.local/tmp /home/user/.local/share/buildkit \
464
472
&& chown -R user /run/user/1000 /home/user \
465
473
&& echo user:100000:65536 | tee /etc/subuid | tee /etc/subgid
474
+
475
+ # rootless builds a rootless variant of buildkitd image
476
+ FROM rootless-${EXPORT_BASE} AS rootless
466
477
COPY --link --from=rootlesskit /rootlesskit /usr/bin/
467
478
COPY --link --from=binaries / /usr/bin/
468
479
COPY --link examples/buildctl-daemonless/buildctl-daemonless.sh /usr/bin/
0 commit comments