Systemd-nspawnd: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 15: | Zeile 15: | ||
*debootstrap --include=systemd,dbus stable /var/lib/machines/debian | *debootstrap --include=systemd,dbus stable /var/lib/machines/debian | ||
| − | = | + | =Sicherstellen, dass man sich als root beim Container anmelden kann= |
*systemd-nspawn -D /var/lib/machines/debian -U --machine debian | *systemd-nspawn -D /var/lib/machines/debian -U --machine debian | ||
=Im Container= | =Im Container= | ||
Version vom 9. Januar 2023, 09:56 Uhr
Über systemd-nspawn
- systemd-nspawn kann verwendet werden, um einen Befehl oder ein Betriebssystem in einem leichten Container auszuführen.
- In vielerlei Hinsicht ähnelt es Chroot, ist aber leistungsfähiger
- Es verwendet Namespaces, um den Prozessbaum, den IPC, den Hostnamen, den Domänennamen vollständig zu virtualisieren.
- Optional kann auch die Netzwerk- und Benutzerdatenbanken virtualisiert werden.
- Es ist ähnlich wie LXC, aber viel einfacher zu konfigurieren.
- Die meiste notwendige Software ist auf modernen Debian-Systemen bereits installiert.
Installation
- apt update
- apt install systemd-container debootstrap
Erstellen eines Debian-Containers
- Ein geeigneter Debian-Container kann mit den Tools debootstrap oder cdebootstrap erstellt werden.
- Um beispielsweise ein neues Gastbetriebssystem namens debian zu erstellen
- debootstrap --include=systemd,dbus stable /var/lib/machines/debian
Sicherstellen, dass man sich als root beim Container anmelden kann
- systemd-nspawn -D /var/lib/machines/debian -U --machine debian
Im Container
set root password
- passwd
allow login via local tty # may not be needed any more
- echo 'pts/0' >> /etc/securetty # May need to set 'pts/0' instead
logout from container
- logout
Container debian exited successfully.
Booten eines Containers
- Sobald er erstellt wurde, ist es möglich wahlweise, einen Container mit
- einem instanziierten
- systemctl start systemd-nspawn@debian
- machinectl start debian
- systemd-nspawn --boot -U -D /var/lib/machines/debian
- zu booten
Status der Maschinen feststellen
- machinectl list
MACHINE CLASS SERVICE OS VERSION ADDRESSES debian container systemd-nspawn debian 11 - 1 machines listed.
- systemctl status systemd-nspawn@debian
● systemd-nspawn@debian.service - Container debian
Loaded: loaded (/lib/systemd/system/systemd-nspawn@.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2023-01-03 08:52:28 CET; 1h 47min ago
Docs: man:systemd-nspawn(1)
Main PID: 29631 (systemd-nspawn)
Status: "Container running: Startup finished in 888ms."
Tasks: 13 (limit: 16384)
Memory: 15.2M
CPU: 1.309s
CGroup: /machine.slice/systemd-nspawn@debian.service
...
Login
- machinectl login debian
- In der Maschine
- systemctl enable systemd-networkd --now