Nota
- Questa esercitazione è disponibile in un ambiente di esercitazione pratica gratuito fornito da Oracle.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Quando completi il tuo laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
Configura il coinvolgimento degli utenti con Podman su Oracle Linux
Introduzione
Systemd consente all'utente di rimanere attivo dopo il logout, consentendo ai servizi utente (come i container avviati con unità utente systemd). In caso contrario, i responsabili del servizio utenti (e i relativi contenitori) vengono arrestati al logout.
Obiettivi
In questo tutorial imparerai a:
- Utilizza Podman per creare ed eseguire i pod.
- Utilizza Podman per gestire i pod.
- Utilizzare Podman per rimuovere i pod.
Prerequisiti
-
Minimo di un singolo sistema Oracle Linux
-
Ogni sistema deve avere Oracle Linux installato e configurato con:
- Account utente non root con accesso sudo
- Accesso a Internet
Implementa Oracle Linux
Nota: se è in esecuzione nella propria tenancy, leggere il progetto linux-virt-labs GitHub README.md e completare i prerequisiti prima di distribuire l'ambiente di laboratorio.
-
Aprire un terminale sul Luna Desktop.
-
Duplicare il progetto
linux-virt-labsGitHub.git clone https://github.com/oracle-devrel/linux-virt-labs.git -
Passare alla directory di lavoro.
cd linux-virt-labs/ol -
Installare le raccolte richieste.
ansible-galaxy collection install -r requirements.yml -
Implementare l'ambiente di laboratorio.
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"L'ambiente di esercitazione pratica gratuito richiede l'aggiunta della variabile
local_python_interpreter, che impostaansible_python_interpreterper le riproduzioni eseguite su localhost. Questa variabile è necessaria perché l'ambiente installa il pacchetto RPM per l'SDK Oracle Cloud Infrastructure per Python, situato sotto i moduli python3.6.La forma di distribuzione predefinita utilizza la CPU AMD e Oracle Linux 8. Per utilizzare una CPU Intel o Oracle Linux 9, aggiungere
-e instance_shape="VM.Standard3.Flex"o-e os_version="9"al comando di distribuzione.Importante: attendere che il playbook venga eseguito correttamente e raggiungere il task di sospensione. In questa fase del playbook, l'installazione di Oracle Linux è completa e le istanze sono pronte. Prendi nota del gioco precedente, che stampa gli indirizzi IP pubblici e privati dei nodi che distribuisce e qualsiasi altra informazione di distribuzione necessaria durante l'esecuzione del laboratorio.
Conferma funzionamento Podman
Il pacchetto di strumenti container in Oracle Linux fornisce le versioni più recenti di Podman, Buildah, Skopeo e delle dipendenze associate.
-
Aprire un terminale e connettersi tramite SSH all'istanza ol-node-01.
ssh oracle@<ip_address_of_instance> -
Controllare la versione di Podman.
podman -v -
Verificare che l'interfaccia CLI Podman sia funzionante.
podman run quay.io/podman/helloOutput di esempio:
[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
Abilita Lingering per un utente
Il nome utente utilizzato per questa esercitazione è oracle.
-
Abilita il persistere per l'utente
oracle.sudo loginctl enable-linger oracle
Creare un file di unità Systemd per Podman
-
Creare una directory per il file systemd unit.
mkdir -p ~/.config/systemd/user -
Creare il file di unità Systemd.
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 -
Avviare e abilitare il servizio Systemd.
systemctl --user daemon-reload systemctl --user enable --now mycontainer.service
Conferma Podman avviato da Systemd
-
Verificare che il servizio abbia avviato Podman.
podman psOutput di esempio:
[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 -
Controllare lo stato del servizio systemd.
systemctl --user status mycontainer.serviceOutput di esempio:
[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>Ciò conferma che systemd ha avviato un contenitore Nginx in Podman. Ma rimane attivo se si esegue il logout?
-
Digitare
Ctrl-Cper uscire dall'output dello stato.
Confermare che il servizio è rimasto attivo dopo il logout
Successivamente, si uscirà dalla sessione corrente e ci si riconnetterà per confermare che il servizio Podman rimane attivo.
-
Immettere
exitper uscire dalla sessione corrente. -
Riconnetti tramite SSH all'istanza ol-node-01 utilizzando la stessa stringa di connessione utilizzata inizialmente per la connessione.
ssh oracle@<ip_address_of_instance> -
Verificare che il servizio Podman sia attivo.
podman ps -
Controllare lo stato del servizio systemd.
systemctl --user status mycontainer.service
Passi successivi
Questo tutorial ha dimostrato come configurare User Lingering con Podman. L'abilitazione persistente consente ai container Podman di essere eseguiti in modo continuo come servizio utente su Oracle Linux, anche dopo il logout. Questo approccio si allinea alle best practice moderne per la gestione dei container rootless. Controlla la stazione di formazione Oracle Linux per ulteriori esercitazioni e contenuti.
Collegamenti correlati
- Documentazione di Oracle Cloud Native Environment
- Oracle Cloud Native Environment Track
- Stazione di formazione Oracle Linux
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.
Per la documentazione del prodotto, visitare Oracle Help Center.
Configure User Lingering with Podman on Oracle Linux.
G44252-01