Introducción a Podman
Los contenedores de aplicaciones y herramientas como Podman son fundamentales en el panorama tecnológico actual debido a su capacidad para ofrecer portabilidad, consistencia y eficiencia en el desarrollo, implementación y gestión de aplicaciones. Los contenedores permiten encapsular aplicaciones y sus dependencias en entornos aislados, lo que facilita la ejecución sin conflictos en diversos sistemas operativos y entornos de infraestructura. Podman, en particular, destaca por su enfoque en la seguridad y la compatibilidad con Docker, lo que lo convierte en una opción atractiva para aquellos que buscan una alternativa flexible y robusta. En un mundo donde la agilidad y la escalabilidad son esenciales, los contenedores y herramientas como Podman desempeñan un papel vital al permitir la rápida entrega y gestión de aplicaciones en entornos variados y dinámicos.
En este curso se va a introducir el concepto de la puesta en producción de aplicaciones web usando contenedores Podman.
Los siguientes contenidos forman parte de un curso que he impartido para OpenWebinars en junio de 2024.
Puedes obtener todo el contenido del curso en el repositorio GitHub. Puedes acceder al Repositorio con los ficheros de los ejercicios.
Unidades
- Introducción a Podman
- Ejecución de contenedores OCI con Podman
- El “Hola Mundo” en Podman
- Ejecución simple de contenedores
- Ejecución de contenedores interactivos
- Ejecución de contenedores demonios
- Ejecución de un contenedor demonio con un servidor web
- Obteniendo información de los contenedores
- Configuración de contenedores
- Ejecución de un contenedor con un servidor de base de datos
- Modos de funcionamiento de los contenedores
- ¿Cómo funcionan los contenedores rootless?
- Gestión de imágenes OCI en Podman
- Introducción a las imágenes OCI
- Introducción al formato de imagen OCI
- Almacenamiento de imágenes
- Ahorro de espacio de almacenamiento
- Almacenamiento de contenedores
- Almacenamiento de contenedores rootless
- Gestión de imágenes
- Obteniendo información de las imágenes
- Ejemplo: Desplegando la aplicación Drupal
- Almacenamiento y redes en Podman
- Almacenamiento en Podman
- Trabajando con volúmenes
- Trabajando con bind mount
- Trabajando con almacenamiento en contenedores rootless
- Redes en Podman
- Uso de la red bridge por defecto
- Gestión de redes definidas por el usuario
- Uso de la red bridge definidas por el usuario
- Uso de la red host en Podman
- Redes en contenedores rootless
- Despliegue de la aplicación Guestbook
- Despliegue de la aplicación Temperaturas
- Gestión de Pods en Podman
- Trabajando con Pods en Podman
- Gestión de Pods
- Funcionamiento de la red en un Pod
- Almacenamiento compartido entre los contenedores de un Pod
- Ejemplo: Despliegue de WordPress + MariaDB en un Pod
- Ejemplo: Despliegue de WordPress + MariaDB en un escenario multipod
- Ejemplo: nginx + fpm-php
- Generación de un archivo YAML de Kubernetes con Podman
- Ejecutando recursos de Kubernetes en Podman
- Gestionando recursos de Podman con Systemd y Quadlet
- Gestionando escenarios multicontenedor con podman-compose
- Creando escenarios multicontenedor con Compose
- El fichero compose.yaml
- El comando podman-compose
- Almacenamiento y redes con Compose
- Uso de parámetros con Compose
- Creación de contenedores rootless conectados a la red slirp4netns
- Despliegue de la aplicación Guestbook
- Despliegue de la aplicación Temperaturas
- Gestión de imágenes OCI con Podman
- Construcción y distribución de imágenes OCI
- Construcción de imágenes a partir de un contenedor
- El fichero Containerfile
- Construcción de imágenes con podman build
- Construcción de imágenes configurables con variables de entorno
- Construcción de imágenes con Compose
- Distribución de imágenes OCI
- Uso de ficheros Containerfile parametrizados
- Gestión de imágenes OCI con Buildah y Skopeo
- Podman Desktop