Capítulo 8. Portar contenedores a systemd usando Podman
Podman (Pod Manager) es un motor de contenedores con todas las funciones que es una herramienta simple sin demonio. Podman proporciona una línea de comandos comparable a Docker-CLI que facilita la transición desde otros motores de contenedores y permite la gestión de vainas, contenedores e imágenes. No fue diseñado originalmente para poner en marcha un sistema Linux completo o gestionar servicios para cosas como el orden de arranque, la comprobación de dependencias y la recuperación de servicios fallidos. Ese es el trabajo de un sistema de inicialización completo como systemd. Red Hat se ha convertido en un líder en la integración de contenedores con systemd, de manera que los contenedores con formato OCI y Docker construidos por Podman pueden ser gestionados de la misma manera que otros servicios y características en un sistema Linux. Puedes utilizar el servicio de inicialización systemd para trabajar con pods y contenedores. Puede utilizar el comando podman generate systemd
para generar un archivo de unidad systemd para contenedores y pods.
Con los archivos de unidad systemd, puedes:
- Configurar un contenedor o pod para que se inicie como un servicio systemd.
- Definir el orden de ejecución del servicio en contenedor y comprobar las dependencias (por ejemplo, asegurarse de que otro servicio se está ejecutando, un archivo está disponible o un recurso está montado).
-
Controla el estado del sistema systemd mediante el comando
systemctl
.
Este capítulo le proporciona información sobre cómo generar descripciones portátiles de contenedores y pods utilizando archivos de unidad systemd.
8.1. Habilitación de los servicios systemd
Al habilitar el servicio, tiene diferentes opciones.
Procedimiento
Habilitar el servicio:
Para habilitar un servicio al inicio del sistema, sin importar si el usuario está conectado o no, introduzca:
# systemctl enable <service>
Tienes que copiar los archivos de la unidad systemd en el directorio
/etc/systemd/system
.Para iniciar un servicio al iniciar la sesión del usuario y detenerlo al cerrarla, introduzca:
$ systemctl --user enable <service>
Tienes que copiar los archivos de la unidad systemd en el directorio
$HOME/.config/systemd/user
.Para permitir que los usuarios inicien un servicio al comienzo del sistema y que persista sobre los cierres de sesión, introduzca:
# loginctl enable-linger <username>
Recursos adicionales
-
Para más información sobre los comandos
systemctl
yloginctl
, introduzcaman systemctl
oman loginctl
, respectivamente. - Para obtener más información sobre la configuración de los servicios con systemd, consulte el capítulo de la guía Configuración de los ajustes básicos del sistema llamado Gestión de los servicios con systemd.