Note:
- Este tutorial está disponible en un entorno de laboratorio gratuito proporcionado por Oracle.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar el laboratorio, sustituya estos valores por otros específicos de su entorno en la nube.
Configurar el enlace de usuario con Podman en Oracle Linux
Introducción
Systemd permite que los servicios de usuario (como los contenedores iniciados con unidades de usuario systemd) permanezcan activos después de que el usuario se desconecte. Sin esto, los gestores de servicio al usuario (y sus contenedores) se detienen al desconectarse.
Objetivos
En este tutorial, aprenderá a:
- Utilice Podman para crear y ejecutar pods.
- Utilizar Podman para gestionar Pods.
- Utilice Podman para eliminar Pods.
Requisitos
-
Mínimo de un único sistema Oracle Linux
-
Cada sistema debe tener Oracle Linux instalado y configurado con:
- Una cuenta de usuario no raíz con acceso sudo
- Acceso a internet
Despliegue de Oracle Linux
Nota: Si se ejecuta en su propio arrendamiento, lea el proyecto linux-virt-labs GitHub README.md y complete los requisitos antes de desplegar el entorno de prácticas.
-
Abra un terminal en Luna Desktop.
-
Clone el proyecto
linux-virt-labsGitHub.git clone https://github.com/oracle-devrel/linux-virt-labs.git -
Cambie al directorio de trabajo.
cd linux-virt-labs/ol -
Instale las recopilaciones necesarias.
ansible-galaxy collection install -r requirements.yml -
Despliegue el entorno de prácticas.
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"El entorno de prácticas libres necesita la variable adicional
local_python_interpreter, que defineansible_python_interpreterpara las reproducciones que se ejecutan en localhost. Esta variable es necesaria porque el entorno instala el paquete RPM para el SDK para Python de Oracle Cloud Infrastructure, que se encuentra en los módulos python3.6.La unidad de despliegue por defecto utiliza la CPU AMD y Oracle Linux 8. Para utilizar una CPU Intel u Oracle Linux 9, agregue
-e instance_shape="VM.Standard3.Flex"o-e os_version="9"al comando de despliegue.Importante: Espere a que el cuaderno de estrategias se ejecute correctamente y alcance la tarea de pausa. En esta etapa del manual, se ha completado la instalación de Oracle Linux y las instancias están listas. Tome nota de la reproducción anterior, que imprime las direcciones IP públicas y privadas de los nodos que despliega y cualquier otra información de despliegue necesaria al ejecutar el ejercicio práctico.
Confirmar trabajos de Podman
El paquete de herramientas de contenedor de Oracle Linux proporciona las últimas versiones de Podman, Buildah, Skopeo y las dependencias asociadas.
-
Abra un terminal y conéctese mediante SSH a la instancia ol-node-01.
ssh oracle@<ip_address_of_instance> -
Compruebe la versión de Podman.
podman -v -
Confirme que la CLI de Podman esté funcionando.
podman run quay.io/podman/helloSalida de ejemplo:
[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
Activar Lingering para un Usuario
El nombre de usuario utilizado para este tutorial es oracle.
-
Active la persistencia para el usuario
oracle.sudo loginctl enable-linger oracle
Creación de un archivo de unidad Systemd para Podman
-
Cree un directorio para el archivo de unidad systemd.
mkdir -p ~/.config/systemd/user -
Cree el archivo de unidad 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 -
Inicie y active el servicio Systemd.
systemctl --user daemon-reload systemctl --user enable --now mycontainer.service
Podman de confirmación de inicio de sistema
-
Confirme que el servicio ha iniciado Podman.
podman psSalida de ejemplo:
[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 -
Compruebe el estado del servicio systemd.
systemctl --user status mycontainer.serviceSalida de ejemplo:
[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>Esto confirma que systemd inició un contenedor Nginx en Podman. Pero, ¿se mantiene activo si cierra la sesión?
-
Escriba
Ctrl-Cpara salir de la salida de estado.
Confirmar que el servicio permanece activo después de cerrar sesión
A continuación, saldrá de la sesión actual y, a continuación, se volverá a conectar para confirmar que el servicio Podman permanece activo.
-
Introduzca
exitpara salir de la sesión actual. -
Vuelva a conectarse mediante SSH a la instancia ol-node-01 con la misma cadena de conexión que utilizó para conectarse inicialmente.
ssh oracle@<ip_address_of_instance> -
Confirme que el servicio Podman esté activo.
podman ps -
Compruebe el estado del servicio systemd.
systemctl --user status mycontainer.service
Pasos Siguientes
En este tutorial se muestra cómo configurar User Lingering con Podman. La activación de la persistencia permite que los contenedores de Podman se ejecuten continuamente como servicio de usuario en Oracle Linux, incluso después de desconectarse. Este enfoque se alinea con las mejores prácticas modernas para la gestión de contenedores sin raíz. Consulte la estación de formación de Oracle Linux para obtener tutoriales y contenido adicionales.
Enlaces relacionados
- Documentación de Oracle Cloud Native Environment
- Circuito de Oracle Cloud Native Environment
- Oracle Linux Training Station
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Configure User Lingering with Podman on Oracle Linux.
G44248-01