Zum Inhalt springen

systemd-nspawn: Containerisierung wie ein IT-Superheld

14. Oktober 2025 durch
systemd-nspawn: Containerisierung wie ein IT-Superheld
Torben Belz

Wer braucht schon Docker, wenn wir systemd-nspawn haben? Ja, genau, wir haben uns gedacht, wir nehmen dich heute mal mit auf eine kleine Entdeckungsreise in die Tiefen des systemd-Universums. Ziel unserer Expedition: systemd-nspawn, der Underdog der Containerisierung.

Du kennst das. Manchmal brauchen wir einfach eine Sandbox zum Spielen. Oder zum Testen. Oder zum Katastrophen-Provozieren, ohne dass es wehtut. Dafür gibt's doch Container, oder? Richtig. Aber warum immer gleich die ganz große Docker-Kanone rausholen, wenn das Bordmittel systemd-nspawn den Job oft genauso gut erledigt?

Falls du systemd-nspawn noch nicht kennst: Es ist ein einfaches Tool zum Starten von isolierten Systemen innerhalb einer leichten Containerumgebung. Kein Schnickschnack, kein Ballast, nur pure Container-Power. Und das Beste: Es ist bereits in systemd integriert, dem Init-System, das auf den meisten modernen Linux-Distributionen läuft.

Jetzt aber genug der Vorrede, lass uns loslegen! Zuerst brauchst du ein Basis-Image. Du kannst ein fertiges Image herunterladen oder selbst eines erstellen. Wir haben uns für Letzteres entschieden. Mit debootstrap lassen sich ganz einfach minimale Debian-Systeme erstellen:

```

debootstrap --include=systemd-container --components=main stable debian-tree/

```

Jetzt haben wir ein schönes, frisches Debian-System in unserem Ordner "debian-tree". Zeit, unseren Container zu starten!

```

systemd-nspawn -D debian-tree/

```

Bumm! Du bist jetzt im Container und kannst machen, was du willst. Installiere Pakete, starte Dienste, lösche Dateien - was immer du tun möchtest, es wird keinen Einfluss auf dein Host-System haben.

Aber warte, es wird noch besser. systemd-nspawn kann mit systemd auf dem Hostsystem integriert werden. Das bedeutet, du kannst deinen Container als systemd-Dienst starten und stoppen. Einfach eine .service-Datei erstellen und schon kann systemd deinen Container verwalten:

```

echo -e "[Service]\nExecStart=/usr/bin/systemd-nspawn -D /path/to/your/container -b\n[Install]\nWantedBy=multi-user.target" > /etc/systemd/system/mycontainer.service

systemctl enable mycontainer.service

systemctl start mycontainer.service

```

Voilà! Dein Container läuft jetzt als systemd-Dienst und startet automatisch beim Systemstart.

So, das war's für heute. Mit systemd-nspawn hast du jetzt ein mächtiges Werkzeug an der Hand, um schnell und einfach Container zu erstellen und zu verwalten. Keine Ausreden mehr, ran an die Container und fröhliches Sandboxen!

systemd-nspawn: Containerisierung wie ein IT-Superheld
Torben Belz 14. Oktober 2025
Diesen Beitrag teilen