¡Hola developer 👋🏻! Este repositorio contiene las demos mostradas durante mi vídeo 12. Docker 🐳 vs. Podman 🦭.
En este repo puedes encontrar algunos ejemplo de cómo puedes comprobar que trabajar con Podman es casi igual que trabajar con Docker.
En Podman, al igual que en Docker, podemos ejecutar contenedores utilizando los mismos parámetros que en docker run
:
podman run --name web -d -p 8080:80 nginx
Este comando descargará la imagen de nginx de Docker Hub y la ejecutará en un contenedor, exactamente igual que si lo hiciéramos con Docker.
Para construir tus propias imágenes, puedes hacerlo con un Containerfile, que es exactamente igual que un Dockerfile, pero con otro nombre.
podman build -t solarsystem:v1 .
podman run --name solar -d -p 8081:80 solarsystem:v1
Podman Compose es una herramienta que permite definir y ejecutar aplicaciones multi-contenedor con Podman, utilizando un archivo YAML para definir las configuraciones de los servicios. Es una alternativa a Docker Compose. El archivo de configuración es exactamente igual que el de Docker Compose compose.yml.
podman compose up
Como has podido ver, hasta ahora hemos estado trabajando con contenedores sueltos. Pero en Podman, al igual que en Kubernetes, se trabaja con el concepto de Pod, que es un grupo de contenedores que comparten un mismo espacio de red y volúmenes.
# Crear el pod
podman pod create --name wordpress -p 8082:80 -p 3306:3306
# Ejecutar el contenedor de MySQL dentro del pod
podman run -d --pod wordpress \
--name mysql \
-e MYSQL_ROOT_PASSWORD=Password1234! \
-e MYSQL_DATABASE=wordpress \
-e MYSQL_USER=wordpress \
-e MYSQL_PASSWORD=Password1234! \
mysql
# Ejecutar el contenedor de WordPress dentro del pod
podman run -d --pod wordpress \
--name wordpress \
-e WORDPRESS_DB_HOST=mysql \
-e WORDPRESS_DB_USER=wordpress \
-e WORDPRESS_DB_PASSWORD=Password1234! \
wordpress
podman pod ps
Y ya por último, también es posible crear Pods de Podman utilizando manifiestos de Kubernetes:
podman play kube --publish 8085:80 pod.yaml
¡Nos vemos 👋🏻!