8.3. Generación automática de un archivo de unidad systemd usando Podman
Por defecto, Podman genera un archivo de unidad para los contenedores o pods existentes. Puede generar archivos de unidad systemd más portables utilizando la opción podman generate systemd --new. La bandera --new indica a Podman que genere archivos de unidad que creen, inicien y eliminen contenedores.
Procedimiento
Extraiga la imagen que desea utilizar en su sistema. Por ejemplo, para extraer la imagen
busybox:podman pull busybox:latest
# podman pull busybox:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow Enumera todas las imágenes disponibles en tu sistema:
podman images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/library/busybox latest c7c37e472d31 3 weeks ago 1.45 MB
# podman images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/library/busybox latest c7c37e472d31 3 weeks ago 1.45 MBCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cree el contenedor
busybox:podman create --name busybox busybox:latest 1e12cf95e305435c0001fa7d4a14cf1d52f737c1118328937028c0bd2fdec5ca
# podman create --name busybox busybox:latest 1e12cf95e305435c0001fa7d4a14cf1d52f737c1118328937028c0bd2fdec5caCopy to Clipboard Copied! Toggle word wrap Toggle overflow Para verificar que el contenedor ha sido creado, liste todos los contenedores:
podman ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1e12cf95e305 docker.io/library/busybox:latest sh 7 seconds ago Created busybox
# podman ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1e12cf95e305 docker.io/library/busybox:latest sh 7 seconds ago Created busyboxCopy to Clipboard Copied! Toggle word wrap Toggle overflow Generar un archivo de unidad systemd para el contenedor
busybox:podman generate systemd --new --files --name busybox /root/container-busybox.service
# podman generate systemd --new --files --name busybox /root/container-busybox.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Muestra el contenido del archivo de la unidad systemd generado en
container-busybox.service:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Tenga en cuenta que los archivos de unidad generados con la opción
--newno esperan que existan contenedores y pods. Por lo tanto, ejecutan el comandopodman runal iniciar el servicio (ver la líneaExecStart) en lugar del comandopodman start. Por ejemplo, vea la Sección 7.2. Generación de un archivo de unidad systemd usando Podman.El comando
podman runutiliza las siguientes opciones de línea de comandos:-
La opción
--conmon-pidfileapunta a una ruta para almacenar el ID del procesoconmonque se ejecuta en el host. El procesoconmontermina con el mismo estado de salida que el contenedor, lo que permite a systemd informar del estado correcto del servicio y reiniciar el contenedor si es necesario. -
La opción
--cidfileapunta a la ruta que almacena el ID del contenedor. -
El
%tes la ruta de acceso a la raíz del directorio en tiempo de ejecución, por ejemplo/run/user/$UserID. -
El
%nes el nombre completo del servicio.
-
La opción
Copie los archivos de la unidad en
/usr/lib/systemd/systempara instalarlos como usuario root:cp -Z container-busybox.service /usr/lib/systemd/system Created symlink /etc/systemd/system/multi-user.target.wants/container-busybox.service /usr/lib/systemd/system/container-busybox.service. Created symlink /etc/systemd/system/default.target.wants/container-busybox.service
/usr/lib/systemd/system/container-busybox.service. # cp -Z container-busybox.service /usr/lib/systemd/system Created symlink /etc/systemd/system/multi-user.target.wants/container-busybox.service /usr/lib/systemd/system/container-busybox.service. Created symlink /etc/systemd/system/default.target.wants/container-busybox.service/usr/lib/systemd/system/container-busybox.service. Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Recursos adicionales
- Integración mejorada de Systemd con Podman 2. 0 artículo de Valentin Rothberg y Dan Walsh.
- 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.