8.2. Generación de un archivo de unidad systemd usando Podman
Podman permite a systemd controlar y gestionar los procesos de los contenedores. Puede generar un archivo de unidad systemd para los contenedores y pods existentes utilizando el comando podman generate systemd
. Se recomienda utilizar podman generate systemd
porque los archivos de unidades generados cambian con frecuencia (a través de las actualizaciones de Podman) y el podman generate systemd
asegura que se obtiene la última versión de los archivos de unidades.
Procedimiento
Cree un contenedor (por ejemplo
myubi
):$ podman create -d --name myubi registry.access.redhat.com/ubi8:latest top 0280afe98bb75a5c5e713b28de4b7c5cb49f156f1cce4a208f13fee2f75cb453
Utilice el nombre o el ID del contenedor para generar el archivo de unidad systemd y dirigirlo al archivo
~/.config/systemd/user/container-myubi.service
:$ podman generate systemd --name myubi > ~/.config/systemd/user/container-myubi.service
Pasos de verificación
Para mostrar el contenido del archivo de unidad systemd generado, introduzca:
$ cat ~/.config/systemd/user/container-myubi.service # container-myubi.service # autogenerated by Podman 2.0.0 # Tue Aug 11 10:51:04 CEST 2020 [Unit] Description=Podman container-myubi.service Documentation=man:podman-generate-systemd(1) Wants=network.target After=network-online.target [Service] Environment=PODMAN_SYSTEMD_UNIT=%n Restart=on-failure ExecStart=/usr/bin/podman start myubi ExecStop=/usr/bin/podman stop -t 10 myubi ExecStopPost=/usr/bin/podman stop -t 10 myubi PIDFile=/run/user/1000/containers/overlay-containers/0280afe98bb75a5c5e713b28de4b7c5cb49f156f1cce4a208f13fee2f75cb453/userdata/conmon.pid KillMode=none Type=forking [Install] WantedBy=multi-user.target default.target
-
La línea
Restart=on-failure
establece la política de reinicio e indica a systemd que se reinicie cuando el servicio no pueda iniciarse o detenerse limpiamente, o cuando el proceso salga de forma distinta a cero. -
La línea
ExecStart
describe cómo iniciamos el contenedor. -
La línea
ExecStop
describe cómo detenemos y retiramos el contenedor.
-
La línea
Recursos adicionales
- Ejecución de contenedores con Podman y servicios systemd compartibles artículo de Valentin Rothberg.