Introducción
En este desafío, aprenderás a configurar un contenedor Podman para que se inicie automáticamente como un servicio de usuario de systemd. Esta es una práctica común y recomendada en entornos Red Hat Enterprise Linux (RHEL) para garantizar que tus aplicaciones en contenedores estén operativas y disponibles en cuanto el sistema arranque. Al completar este ejercicio, adquirirás experiencia práctica en la gestión del ciclo de vida de los contenedores con podman y su integración con el proceso de inicio systemd del sistema, una competencia esencial para cualquier administrador de sistemas.
Configurar un contenedor para que se inicie automáticamente como servicio de systemd
En esta sección, configurarás un contenedor para que se inicie de forma automática mediante un servicio de systemd. Esto resulta de gran utilidad para asegurar que tus servicios web o aplicaciones estén siempre disponibles.
Tareas
Tu objetivo es ejecutar un servidor web Nginx en un contenedor Podman y configurarlo para que se lance automáticamente al iniciar el sistema.
- Crear y ejecutar un contenedor
podmanbasado en la imagennginx:latest. - Generar un archivo de unidad de servicio de usuario de
systemdpara dicho contenedor. - Habilitar el servicio para que se inicie automáticamente para el usuario
labex. - Activar la persistencia (lingering) para el usuario
labex, asegurando que el servicio arranque al encender el equipo, incluso sin una sesión de usuario activa. - Verificar que el contenedor esté en ejecución y que el servicio Nginx sea accesible.
Requisitos
- Debes utilizar
podmanpara todas las tareas de gestión de contenedores. - La imagen del contenedor debe ser
docker.io/library/nginx:latest. - El contenedor debe llamarse
my-nginx. - El contenedor debe mapear el puerto
8080del host al puerto80del contenedor. - El archivo de servicio de
systemddebe generarse mediante el comandopodman generate systemd. - El archivo de servicio generado debe ubicarse en
~/.config/systemd/user/container-my-nginx.service. - Se debe habilitar el "lingering" para el usuario
labexutilizandologinctl.
Ejemplo
Tras completar el desafío, deberías poder acceder a la página de bienvenida de Nginx ejecutando curl http://localhost:8080. El resultado debería ser similar a este:
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
Resumen
En este desafío, has aprendido a utilizar podman para crear un contenedor y generar un servicio de usuario de systemd para gestionar su ciclo de vida. Has configurado el servicio para que se inicie automáticamente y has habilitado la persistencia de sesión para garantizar su ejecución desde el arranque del sistema. Este proceso es fundamental para desplegar aplicaciones en contenedores de forma resiliente en RHEL y sistemas similares, ofreciendo una alternativa robusta a los métodos tradicionales.



