🧪 Laboratorio: Ciclo de Vida de Contenedores con Podman
🎯 Objetivo
Aprender el ciclo de vida básico de un contenedor utilizando Podman, comprendiendo los estados y operaciones fundamentales: descarga, ejecución, detención, reinicio y eliminación de contenedores.
🧰 Requisitos
- Sistema operativo: Rocky Linux, Fedora, RHEL o similar.
- Podman instalado (
sudo dnf install -y podman). - Acceso a la terminal.
🛠️ 1. Verificar instalación de Podman
podman --version
📥 2. Descargar una imagen de contenedor
podman pull docker.io/library/nginx:alpine
🚀 3. Crear y ejecutar un contenedor
podman run -d --name nginx-test -p 30080:80 nginx:alpine
🔍 Se ejecuta en segundo plano (-d), se asigna un nombre (--name), y se publica el puerto 80 del contenedor en el 30080 del host.
👀 4. Verificar que el contenedor está en ejecución
podman ps
Puedes probarlo desde el navegador o con curl, asegurar se de reemplazar por el FQDN correcto:
curl http://student-0-aio.35-227-133-255.nip.io:30080
🛑 5. Detener un contenedor
podman stop nginx-test
▶️ 6. Iniciar un contenedor detenido
podman start nginx-test
🔁 7. Reiniciar el contenedor
podman restart nginx-test
📄 8. Ver detalles del contenedor
podman inspect nginx-test
🧼 9. Eliminar el contenedor
Primero debes detenerlo si está activo:
podman stop nginx-test
podman rm nginx-test
🗑️ 10. Eliminar la imagen descargada
podman rmi nginx:alpine
📚 Comandos útiles adicionales
podman ps -a # Lista todos los contenedores (corriendo y detenidos).
podman logs nginx-test # Muestra los logs del contenedor.
podman top nginx-test # Muestra los procesos dentro del contenedor.
podman exec -it nginx-test sh # Accede al contenedor con una shell.
🧠 Conclusión
Con esta práctica revisamos el ciclo de vida de un contenedor: pull → run → stop/start → inspect → remove, utilizando Podman de forma segura, sin daemon y 100% compatible con Docker.