Podman liefert dazu die Werkzeuge, um die Systemd-Service-Units zu generieren.
In dem Beispiel betreibe ich einen Container mit dem Namen App1. Mit dem Kommando:
podman generate systemd --name App1 --files --new
[--name Es wird der Name des Containers verwendet und nicht die Container-ID
--files Die Ausgabe erfolgt in Dateien, statt auf STDOUT]
wird die Service-Unit-Datei im lokalen Verzeichnis erstellt:
container-App1.service
Es ist zwingend nötig die Datei in sein Homeverzeichnis unter .config/systemd/user/ zu kopieren:
cp conatiner-App 1.service ~USER/.config/systemd/user/
Bevor nun mit systemctl der Container gestartet wrid, muss sichergestellt sein, dass der ursprüngliche Container gestoppt ist.
podman stop App1
Auch das Container Image darf nicht mehr vorhanden sein:
podman rm App1
podman rm App1
Ab jetzt kann der Container mit den systemd-Tools administriert werden:
systemctl --user daemon-reload
systemctl --user start container-App1
systemctl --user enable container-App1
Damit der Service nun auch gestartet werden kann, wenn der User nicht eingeloggt ist, muss noch folgendes Kommando ausgeführt werden:
loginctl enable-linger USERNAME
Der Dienst kann nun mit systemctl verwaltet werden und wird bei einem Rechnerneustart automatisch gestartet.
Keine Kommentare:
Kommentar veröffentlichen