Hinweis:
- Dieses Tutorial ist in einer von Oracle bereitgestellten kostenlosen Übungsumgebung verfügbar.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. In der Übung ersetzen Sie diese Werte durch die Werte, die für Ihre Cloud-Umgebung spezifisch sind.
Benutzer-Lingering mit Podman auf Oracle Linux konfigurieren
Einführung
Systemd bietet Benutzer-Lingering, sodass Benutzerservices (wie Container, die mit systemd-Benutzereinheiten gestartet werden) aktiv bleiben, nachdem sich der Benutzer abgemeldet hat. Ohne diese Einstellung werden User Service Manager (und deren Container) bei der Abmeldung gestoppt.
Ziele
In diesem Tutorial lernen Sie:
- Mit Podman können Sie Pods erstellen und ausführen.
- Mit Podman können Sie Pods verwalten.
- Mit Podman können Sie Pods entfernen.
Voraussetzungen
-
Mindestens ein einziges Oracle Linux-System
-
Auf jedem System muss Oracle Linux installiert und konfiguriert sein mit:
- Ein Nicht-Root-Benutzerkonto mit Sudo-Zugriff
- Zugriff auf das Internet
Oracle Linux bereitstellen
Hinweis: Wenn Sie in Ihrem eigenen Mandanten ausgeführt werden, lesen Sie das Projekt linux-virt-labs GitHub README.md, und schließen Sie die Voraussetzungen ab, bevor Sie die Übungsumgebung bereitstellen.
-
Öffnen Sie ein Terminal auf dem Luna Desktop.
-
Klonen Sie das Projekt
linux-virt-labsGitHub.git clone https://github.com/oracle-devrel/linux-virt-labs.git -
Wechseln Sie in das Arbeitsverzeichnis.
cd linux-virt-labs/ol -
Installieren Sie die erforderlichen Sammlungen.
ansible-galaxy collection install -r requirements.yml -
Bereitstellen der Übungsumgebung.
ansible-playbook create_instance.yml -e localhost_python_interpreter="/usr/bin/python3.6" -e use_podman=true -e update_all=true -e os_version="9"Die kostenlose Übungsumgebung erfordert die zusätzliche Variable
local_python_interpreter, dieansible_python_interpreterfür Wiedergaben festlegt, die auf localhost ausgeführt werden. Diese Variable ist erforderlich, da die Umgebung das RPM-Package für das Oracle Cloud Infrastructure-SDK für Python unter den python3.6-Modulen installiert.Die Standard-Deployment-Ausprägung verwendet AMD-CPU und Oracle Linux 8. Um eine Intel CPU oder Oracle Linux 9 zu verwenden, fügen Sie dem Deployment-Befehl
-e instance_shape="VM.Standard3.Flex"oder-e os_version="9"hinzu.Wichtig: Warten Sie, bis das Playbook erfolgreich ausgeführt wird, und erreichen Sie die Unterbrechungsaufgabe. In dieser Phase des Playbooks ist die Installation von Oracle Linux abgeschlossen, und die Instanzen sind bereit. Notieren Sie sich die vorherige Wiedergabe, in der die öffentlichen und privaten IP-Adressen der bereitgestellten Knoten und alle anderen Deployment-Informationen gedruckt werden, die während der Ausführung der Übung erforderlich sind.
Podman-Arbeiten bestätigen
Das Container-Tool-Package in Oracle Linux stellt die neuesten Versionen von Podman, Buildah, Skopeo und zugehörigen Abhängigkeiten bereit.
-
Öffnen Sie ein Terminal, und verbinden Sie sich über SSH mit der Instanz ol-node-01.
ssh oracle@<ip_address_of_instance> -
Prüfen Sie die Version von Podman.
podman -v -
Stellen Sie sicher, dass die Podman-CLI funktioniert.
podman run quay.io/podman/helloBeispielausgabe:
[oracle@ol-server ~]$ podman run quay.io/podman/hello Trying to pull quay.io/podman/hello:latest... Getting image source signatures Copying blob f82b04e85914 done Copying config dbd85e09a1 done Writing manifest to image destination Storing signatures !... Hello Podman World ...! .--"--. / - - \ / (O) (O) \ ~~~| -=(,Y,)=- | .---. /` \ |~~ ~/ o o \~~~~.----. ~~ | =(X)= |~ / (O (O) \ ~~~~~~~ ~| =(Y_)=- | ~~~~ ~~~| U |~~ Project: https://github.com/containers/podman Website: https://podman.io Documents: https://docs.podman.io Twitter: @Podman_io
Lingering für einen Benutzer aktivieren
Der für dieses Tutorial verwendete Benutzername lautet oracle.
-
Aktivieren Sie Lingering für den Benutzer
oracle.sudo loginctl enable-linger oracle
Systemd Unit-Datei für Podman erstellen
-
Erstellen Sie ein Verzeichnis für die systemd unit-Datei.
mkdir -p ~/.config/systemd/user -
Erstellen Sie die Systemd Unit-Datei.
cat << EOF | tee ~/.config/systemd/user/mycontainer.service > /dev/null [Unit] Description=My Podman Container [Service] Restart=always ExecStart=/usr/bin/podman run --rm --name mycontainer ghcr.io/oracle/oraclelinux9-nginx:1.20 ExecStop=/usr/bin/podman stop -t 10 mycontainer [Install] WantedBy=default.target EOF -
Starten und aktivieren Sie den Systemd-Service.
systemctl --user daemon-reload systemctl --user enable --now mycontainer.service
Bestätigen, dass Systemd gestartet wurde Podman
-
Bestätigen Sie, dass der Service Podman gestartet hat.
podman psBeispielausgabe:
[oracle@ol-node-01 ~]$ podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9ada6b5a635f ghcr.io/oracle/oraclelinux9-nginx:1.20 nginx -g daemon o... 4 minutes ago Up 4 minutes 80/tcp, 443/tcp mycontainer -
Prüfen Sie den Status des systemd-Service.
systemctl --user status mycontainer.serviceBeispielausgabe:
[oracle@ol-node-01 ~]$ systemctl --user status mycontainer.service ● mycontainer.service - My Podman Container Loaded: loaded (/home/oracle/.config/systemd/user/mycontainer.service; enabled; preset: disabled) Active: active (running) since Wed 2025-09-03 15:18:52 GMT; 1min 4s ago Main PID: 42554 (podman) Tasks: 22 (limit: 201624) Memory: 367.0M CPU: 7.432s CGroup: /user.slice/user-1001.slice/user@1001.service/app.slice/mycontainer.service ├─42554 /usr/bin/podman run --rm --name mycontainer ghcr.io/oracle/oraclelinux9-nginx:1.20 ├─42562 /usr/bin/podman run --rm --name mycontainer ghcr.io/oracle/oraclelinux9-nginx:1.20 ├─42567 catatonit -P ├─42631 /usr/bin/pasta --config-net --dns-forward 169.254.1.1 -t none -u none -T none -U none --no-map-gw --quiet --net> └─42634 /usr/bin/conmon --api-version 1 -c 9ada6b5a635f05242af94d921c045355a02ff1c5c6843b9b77d4797e6cc48947 -u 9ada6b5a> Sep 03 15:18:53 ol-node-01 podman[42562]: Getting image source signatures Sep 03 15:18:53 ol-node-01 podman[42562]: Copying blob sha256:dc9d5c72c83dcb74035f5659842a5bbdb9ceaaab724e942d1fafba3d9a66583d Sep 03 15:18:53 ol-node-01 podman[42562]: Copying blob sha256:768ce871c381eaff86a716a68d16a5fe365a62f4d44ae38e9e8b1ed8fd5bf4bd Sep 03 15:18:57 ol-node-01 podman[42562]: Copying config sha256:86da1899be3dbf9500534c241500247aa0467c76ebbeb2431e42433dcf3e4df2 Sep 03 15:18:57 ol-node-01 podman[42562]: Writing manifest to image destination Sep 03 15:18:58 ol-node-01 podman[42562]: 2025-09-03 15:18:58.037335665 +0000 GMT m=+5.552269770 container create 9ada6b5a635f05242a> Sep 03 15:18:58 ol-node-01 podman[42562]: 2025-09-03 15:18:58.025938165 +0000 GMT m=+5.540872270 image pull 86da1899be3dbf9500534c24> Sep 03 15:18:58 ol-node-01 podman[42562]: 2025-09-03 15:18:58.150895821 +0000 GMT m=+5.665829926 container init 9ada6b5a635f05242af9> Sep 03 15:18:58 ol-node-01 podman[42562]: 2025-09-03 15:18:58.156268852 +0000 GMT m=+5.671202956 container start 9ada6b5a635f05242af>Dadurch wird bestätigt, dass systemd einen Nginx-Container in Podman gestartet hat. Aber bleibt es aktiv, wenn Sie sich abmelden?
-
Geben Sie
Ctrl-Cein, um die Statusausgabe zu beenden.
Verbleibenden aktiven Service nach Abmeldung bestätigen
Als Nächstes beenden Sie die aktuelle Session und melden sich erneut an, um zu bestätigen, dass der Podman-Service weiterhin aktiv ist.
-
Geben Sie
exitein, um die aktuelle Session zu verlassen. -
Stellen Sie über SSH erneut eine Verbindung zur Instanz ol-node-01 her, und verwenden Sie dabei dieselbe Verbindungszeichenfolge, die Sie ursprünglich für die Verbindung verwendet haben.
ssh oracle@<ip_address_of_instance> -
Stellen Sie sicher, dass der Podman-Dienst aktiv ist.
podman ps -
Prüfen Sie den Status des systemd-Service.
systemctl --user status mycontainer.service
Nächste Schritte
In diesem Tutorial wurde gezeigt, wie Sie User Lingering mit Podman konfigurieren. Wenn Sie Lingering aktivieren, können Ihre Podman-Container auch nach der Abmeldung kontinuierlich als Benutzerservice auf Oracle Linux ausgeführt werden. Dieser Ansatz entspricht modernen Best Practices für das rootenlose Containermanagement. Weitere Tutorials und Inhalte finden Sie in der Oracle Linux-Schulungsstation.
Verwandte Links
- Oracle Cloud Native Environment-Dokumentation
- Oracle Cloud Native Environment-Track
- Oracle Linux-Schulungsstation
Weitere Lernressourcen
Sehen Sie sich weitere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube-Kanal zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um ein Oracle Learning Explorer zu werden.
Die Produktdokumentation finden Sie im Oracle Help Center.
Configure User Lingering with Podman on Oracle Linux.
G44247-01