Note :
- Ce tutoriel est disponible dans un environnement de laboratoire gratuit fourni par Oracle.
- Il utilise des exemples de valeurs pour les données d'identification, la location et les compartiments d'Oracle Cloud Infrastructure. À la fin de votre laboratoire, remplacez ces valeurs par celles qui sont propres à votre environnement en nuage.
Configurer la lingerie d'utilisateur avec Podman sur Oracle Linux
Présentation
Systemd fournit une persistance utilisateur, permettant aux services utilisateur (tels que les conteneurs lancés avec des unités utilisateur systemd) de rester actifs après la déconnexion de l'utilisateur. Sans cela, les gestionnaires de service utilisateur (et leurs conteneurs) sont arrêtés lors de la déconnexion.
Objectifs
Dans ce tutoriel, vous apprendrez à :
- Utilisez Podman pour créer et exécuter des pods.
- Utilisez Podman pour gérer les pods.
- Utilisez Podman pour supprimer des pods.
Préalables
-
Minimum d'un seul système Oracle Linux
-
Oracle Linux doit être installé et configuré pour chaque système avec :
- Un compte utilisateur non racine avec accès sudo
- Accès à Internet
Déployer Oracle Linux
Note : Si vous exécutez votre propre location, lisez les préalables du projet linux-virt-labs GitHub README.md et remplissez les conditions requises avant de déployer l'environnement de laboratoire.
-
Ouvrez un terminal sur le Luna Desktop.
-
Clonez le projet
linux-virt-labsGitHub.git clone https://github.com/oracle-devrel/linux-virt-labs.git -
Accédez au répertoire de travail.
cd linux-virt-labs/ol -
Installez les collections requises.
ansible-galaxy collection install -r requirements.yml -
Déployez l'environnement de l'exercice.
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'environnement de laboratoire gratuit nécessite la variable supplémentaire
local_python_interpreter, qui définitansible_python_interpreterpour les lectures exécutées sur localhost. Cette variable est nécessaire car l'environnement installe l'ensemble RPM pour la trousse SDK Oracle Cloud Infrastructure pour Python, située sous les modules python3.6.La forme de déploiement par défaut utilise le processeur AMD et Oracle Linux 8. Pour utiliser une unité centrale Intel ou Oracle Linux 9, ajoutez
-e instance_shape="VM.Standard3.Flex"ou-e os_version="9"à la commande de déploiement.Important : Attendez que le livre de jeu s'exécute avec succès et atteignez la tâche Mettre en pause. À ce stade du livre de jeu, l'installation d'Oracle Linux est terminée et les instances sont prêtes. Prenez note de la lecture précédente, qui imprime les adresses IP publiques et privées des noeuds qu'il déploie et toutes les autres informations de déploiement nécessaires lors de l'exécution de l'exercice.
Confirmer le fonctionnement de Podman
L'ensemble container-tools d'Oracle Linux fournit les dernières versions de Podman, Buildah, Skopeo et des dépendances associées.
-
Ouvrez un terminal et connectez-vous via SSH à l'instance ol-node-01.
ssh oracle@<ip_address_of_instance> -
Vérifiez la version de Podman.
podman -v -
Vérifiez que l'interface de ligne de commande Podman fonctionne.
podman run quay.io/podman/helloExemple de sortie :
[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
Activer le Lingering pour un utilisateur
Le nom d'utilisateur utilisé pour ce tutoriel est oracle.
-
Activer la persistance pour l'utilisateur
oracle.sudo loginctl enable-linger oracle
Créer un fichier d'unité Systemd pour Podman
-
Créez un répertoire pour le fichier d'unités système.
mkdir -p ~/.config/systemd/user -
Créez le fichier d'unités 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 -
Démarrez et activez le service Systemd.
systemctl --user daemon-reload systemctl --user enable --now mycontainer.service
Confirmer le podman démarré par système
-
Vérifiez que le service a démarré Podman.
podman psExemple de sortie :
[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 -
Vérifiez le statut du service système.
systemctl --user status mycontainer.serviceExemple de sortie :
[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>Cela confirme que systemd a démarré un conteneur Nginx dans Podman. Mais reste-t-il actif si vous déconnectez?
-
Entrez
Ctrl-Cpour quitter la sortie de statut.
Confirmer que le service reste actif après la déconnexion
Ensuite, vous allez quitter la session en cours, puis vous reconnecter pour confirmer que le service Podman reste actif.
-
Entrez
exitpour quitter la session courante. -
Reconnectez-vous au moyen de SSH à l'instance ol-node-01 à l'aide de la même chaîne de connexion que celle utilisée initialement pour la connexion.
ssh oracle@<ip_address_of_instance> -
Vérifiez que le service Podman est actif.
podman ps -
Vérifiez le statut du service système.
systemctl --user status mycontainer.service
Étapes suivantes
Ce tutoriel a montré comment configurer User Lingering avec Podman. L'activation de la persistance permet à vos conteneurs Podman de s'exécuter en continu en tant que service utilisateur sur Oracle Linux, même après votre déconnexion. Cette approche s'aligne sur les meilleures pratiques modernes pour la gestion de conteneurs sans racine. Consultez la station de formation Oracle Linux pour obtenir des tutoriels et du contenu supplémentaires.
Liens connexes
- Documentation sur Oracle Cloud Native Environment
- Parcours Environnement natif Oracle Cloud
- Parcours d'apprentissage pour Oracle Linux
Autres ressources d'apprentissage
Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir la documentation sur le produit, visitez Oracle Help Center.
Configure User Lingering with Podman on Oracle Linux.
G44249-01