Update our Dockerfile to use debian 13 as base. Some notes about architectures from the [announcement][1]; > This release for the first time officially supports the riscv64 architecture, > allowing users to run Debian on 64-bit RISC-V hardware and benefit from all > Debian 13 features. A total of seven architectures are officially supported > for trixie: > > - 64-bit PC (amd64), > - 64-bit ARM (arm64), > - ARM EABI (armel), > - ARMv7 (EABI hard-float ABI, armhf), > - 64-bit little-endian PowerPC (ppc64el), > - 64-bit little-endian RISC-V (riscv64), > - IBM System z (s390x) > > i386 is no longer supported as a regular architecture: there is no official > kernel and no Debian installer for i386 systems. The i386 architecture is > now only intended to be used on a 64-bit (amd64) CPU. Users running i386 > systems should not upgrade to trixie. Instead, Debian recommends either > reinstalling them as amd64, where possible, or retiring the hardware. > > trixie will be the last release for the armel architecture. See > [5.1.3. Last release for armel][2] in the release notes for more information > on our ARM EABI support. Also install e2fsprogs to fix missing mkfs.ext4 [1]: https://www.debian.org/News/2025/20250809 [2]: https://www.debian.org/releases/trixie/release-notes/issues.html#last-release-for-armel Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
62 lines
1.9 KiB
Docker
62 lines
1.9 KiB
Docker
# docker build -t docker:simple -f Dockerfile.simple .
|
|
# docker run --rm docker:simple hack/make.sh dynbinary
|
|
# docker run --rm --privileged docker:simple hack/dind hack/make.sh test-unit
|
|
# docker run --rm --privileged -v /var/lib/docker docker:simple hack/dind hack/make.sh dynbinary test-integration
|
|
|
|
# This represents the bare minimum required to build and test Docker.
|
|
|
|
ARG GO_VERSION=1.26.8
|
|
|
|
ARG BASE_DEBIAN_DISTRO=trixie
|
|
ARG GOLANG_IMAGE="golang:${GO_VERSION}-${BASE_DEBIAN_DISTRO}"
|
|
|
|
FROM ${GOLANG_IMAGE}
|
|
ENV GOTOOLCHAIN=local
|
|
|
|
# Compile and runtime deps
|
|
# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#build-dependencies
|
|
# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#runtime-dependencies
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
build-essential \
|
|
curl \
|
|
cmake \
|
|
git \
|
|
libseccomp-dev \
|
|
ca-certificates \
|
|
e2fsprogs \
|
|
iptables \
|
|
pkg-config \
|
|
pigz \
|
|
procps \
|
|
xfsprogs \
|
|
xz-utils \
|
|
\
|
|
vim-common \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install containerd.io (includes runc), tini, and docker-ce-cli.
|
|
# The versions of these dependencies differ from the main Dockerfile,
|
|
# but it should be sufficient for minimal build and test purposes.
|
|
ADD --chmod=0644 --checksum=sha256:1500c1f56fa9e26b9b8f42452a553675796ade0807cdce11975eb98170b3a570 \
|
|
https://download.docker.com/linux/debian/gpg /etc/apt/keyrings/docker.asc
|
|
ARG BASE_DEBIAN_DISTRO
|
|
ADD <<-EOT /etc/apt/sources.list.d/docker.sources
|
|
Types: deb
|
|
URIs: https://download.docker.com/linux/debian
|
|
Suites: ${BASE_DEBIAN_DISTRO}
|
|
Components: stable
|
|
Signed-By: /etc/apt/keyrings/docker.asc
|
|
EOT
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
containerd.io \
|
|
tini \
|
|
docker-ce-cli \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
&& ln -s /usr/bin/tini-static /usr/local/bin/docker-init
|
|
|
|
ENV PATH=/usr/local/cli:$PATH
|
|
|
|
ENV AUTO_GOPATH 1
|
|
WORKDIR /usr/src/moby
|
|
COPY . /usr/src/moby
|