Files
rpi-buildroot/package/docker-engine/Config.in
Fiona Klute (WIWA) b07b0bb456 package/docker-engine: depend on cgroup v2 and kernel >=5.2 without systemd
Without systemd package/docker-engine requires another way to mount
/sys/fs/cgroup, so far provided by BR2_PACKAGE_CGROUPFS_MOUNT for
cgroup v1. Replace this with BR2_PACKAGE_CGROUPFS_V2_MOUNT for cgroup
v2 support. 5.2 is the minimum recommended version for cgroup v2
support according to the Docker documentation: "v4.15 or later (v5.2
or later is recommended)" [1].

Depending on the selected container runtime users may need to adjust
kernel configurations to enable options required by that runtime with
cgroup v2 (e.g. CONFIG_CGROUP_BPF for runc).

Propagate dependencies accordingly: The Docker btrfs filesystem driver
does not need a separate and lower minimum headers version,
package/mender-update-modules needs to apply the new "depends on".

[1] https://docs.docker.com/engine/containers/runmetrics/#running-docker-on-cgroup-v2

Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
2025-09-10 22:26:52 +02:00

91 lines
2.8 KiB
Plaintext

config BR2_PACKAGE_DOCKER_ENGINE
bool "docker-engine"
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2
depends on !BR2_TOOLCHAIN_USES_UCLIBC # containerd -> runc
depends on BR2_USE_MMU # containerd
depends on !BR2_PACKAGE_CGROUPFS_MOUNT
depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS # libseccomp
select BR2_PACKAGE_CGROUPFS_V2_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime dependency
select BR2_PACKAGE_CONTAINERD # runtime dependency
select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_IPTABLES # runtime dependency
select BR2_PACKAGE_LIBSECCOMP
help
Docker is a platform to build, ship,
and run applications as lightweight containers.
https://github.com/docker/docker
if BR2_PACKAGE_DOCKER_ENGINE
config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS
bool "btrfs filesystem driver"
help
Build the btrfs filesystem driver for Docker.
config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_DEVICEMAPPER
bool "devicemapper filesystem driver"
depends on BR2_TOOLCHAIN_HAS_THREADS # lvm2
depends on BR2_USE_MMU # lvm2
depends on !BR2_STATIC_LIBS # lvm2
select BR2_PACKAGE_LVM2
help
Build the devicemapper filesystem driver for Docker.
config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_VFS
bool "vfs filesystem driver"
depends on BR2_USE_WCHAR # gvfs
depends on BR2_USE_MMU # gvfs
depends on BR2_TOOLCHAIN_HAS_THREADS # gvfs
depends on !BR2_STATIC_LIBS # gvfs
select BR2_PACKAGE_GVFS
help
Build the vfs filesystem driver for Docker.
choice
bool "support docker-init"
default BR2_PACKAGE_DOCKER_ENGINE_DOCKER_INIT_TINI if BR2_PACKAGE_DOCKER_ENGINE_DOCKER_INIT # legacy
help
Support providing a minimal init process for containers.
Required to use "docker run --init".
config BR2_PACKAGE_DOCKER_ENGINE_DOCKER_INIT_NONE
bool "none"
help
Do not support docker-init.
config BR2_PACKAGE_DOCKER_ENGINE_DOCKER_INIT_CATATONIT
bool "catatonit"
select BR2_PACKAGE_CATATONIT # runtime
help
Support providing a minimal init process for containers,
using catatonit.
config BR2_PACKAGE_DOCKER_ENGINE_DOCKER_INIT_TINI
bool "tini"
select BR2_PACKAGE_TINI # runtime
help
Support providing a minimal init process for containers,
using tini.
endchoice
config BR2_PACKAGE_DOCKER_ENGINE_DOCKER_INIT_NAME
string
default "tini" if BR2_PACKAGE_DOCKER_ENGINE_DOCKER_INIT_TINI
default "catatonit" if BR2_PACKAGE_DOCKER_ENGINE_DOCKER_INIT_CATATONIT
endif
comment "docker-engine needs a glibc or musl toolchain w/ threads, headers >= 5.2"
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS
depends on !BR2_TOOLCHAIN_HAS_THREADS || \
BR2_TOOLCHAIN_USES_UCLIBC || \
!BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2
depends on BR2_USE_MMU