
fauust/docker-systemd用于systemd和openrc测试的多架构Docker容器,支持多种Linux发行版。镜像可在以下平台获取:
console❯ docker build . -f Dockerfile.debian -t systemd-debian-sid --build-arg base_image=debian:sid-slim ❯ docker build . -f Dockerfile.redhat -t systemd-almalinux-8 --build-arg base_image=almalinux:8 ❯ docker build . -f Dockerfile.alpine -t openrc-alpine3.22 --build-arg base_image=alpine:3.22
base_image参数示例:
debian:11-slimdebian:12-slimdebian:13-slimdebian:sid-slimubuntu:22.04ubuntu:24.04fedora:41fedora:42almalinux:8almalinux:9rockylinux:8rockylinux:9alpine:3.19alpine:3.20alpine:3.21alpine:3.22alpine:edge也可使用非slim版本的Debian镜像(如debian:11),但官方仅基于Debian的-slim版本构建镜像。
以下容器可从Docker Hub获取:
console❯ docker pull ghcr.io/fauust/docker-systemd:debian-11 ❯ docker pull ghcr.io/fauust/docker-systemd:debian-12 ❯ docker pull ghcr.io/fauust/docker-systemd:debian-13 ❯ docker pull ghcr.io/fauust/docker-systemd:debian-sid ❯ docker pull ghcr.io/fauust/docker-systemd:ubuntu-22.04 ❯ docker pull ghcr.io/fauust/docker-systemd:ubuntu-24.04 ❯ docker pull ghcr.io/fauust/docker-systemd:fedora-41 ❯ docker pull ghcr.io/fauust/docker-systemd:fedora-42 ❯ docker pull ghcr.io/fauust/docker-systemd:almalinux-8 ❯ docker pull ghcr.io/fauust/docker-systemd:almalinux-9 ❯ docker pull ghcr.io/fauust/docker-systemd:rockylinux-8 ❯ docker pull ghcr.io/fauust/docker-systemd:rockylinux-9 ❯ docker pull ghcr.io/fauust/docker-systemd:alpine-3.19 ❯ docker pull ghcr.io/fauust/docker-systemd:alpine-3.20 ❯ docker pull ghcr.io/fauust/docker-systemd:alpine-3.21 ❯ docker pull ghcr.io/fauust/docker-systemd:alpine-3.22 ❯ docker pull ghcr.io/fauust/docker-systemd:alpine-edge
要启动systemd,必须满足以下条件:
/sys/fs/cgroup卷以只读模式共享给容器;privileged模式运行容器。也可使用podman,无需上述条件,详见下文。
console❯ docker run --name init-test --rm --privileged -d -v /sys/fs/cgroup:/sys/fs/cgroup:ro fauust/docker-systemd:debian-sid ❯ docker exec -it init-test bash root@59c9e3e924e7:/# apt update && apt install procps ... root@59c9e3e924e7:/# ps fax PID TTY STAT TIME COMMAND 34 pts/0 Ss 0:00 bash 420 pts/0 R+ 0:00 \_ ps fax 1 ? Ss 0:00 /lib/systemd/systemd 24 ? Ss 0:00 /lib/systemd/systemd-journald
Podman对systemd更友好,详见<[***]>。
使用podman运行容器的方法如下:
console❯ podman run --name init-test --rm -d fauust/docker-systemd:debian-sid ❯ podman exec -it init-test bash root@181cc7d48a8a:/# apt update && apt install procps ... root@181cc7d48a8a:/# ps fax PID TTY STAT TIME COMMAND 24 pts/0 Ss 0:00 bash 859 pts/0 R+ 0:00 \_ ps fax 1 ? Ss 0:00 /lib/systemd/systemd 20 ? Ss 0:00 /lib/systemd/systemd-journald
仅用于测试目的,请勿在生产环境中使用!
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务