🚀 Administración de Contenedores con Docker: De la Imagen al Control Total
A continuación encontrarás un desglose estructurado con ejemplos y recomendaciones que condensan todo el aprendizaje.
📦 De Imágenes a Contenedores
Una imagen Docker es el punto de partida, pero para que cobre vida necesitamos convertirla en un contenedor. Esto se logra con el comando docker run, el cual puede incluir parámetros como:
-it: modo interactivo.
--rm: elimina el contenedor al detenerlo.
-d: ejecución en segundo plano (detached).
-p: mapeo de puertos entre host y contenedor.
--name: asignación de nombre único al contenedor.
Ejemplo aplicado:
Se ejecuta la imagen aminospinoza/sitio-web:1.0 exponiendo el puerto 8080.
Resultado: un contenedor accesible desde http://localhost:8080.
🔄 Ejecutar Múltiples Instancias sin Conflictos
Para crear segundas instancias de la misma imagen es clave modificar dos parámetros:
- Puerto: cambiar el
8080 inicial por otro, como 8085, para evitar colisiones de red.
- Nombre del contenedor: cada contenedor necesita un identificador único. Una convención práctica es incluir el puerto en el nombre, por ejemplo
sitio-web-85.
De este modo, múltiples contenedores pueden correr la misma aplicación en paralelo sin interferencias.
📝 Explorando Contenedores con docker ps
El comando docker ps ofrece una vista del estado de los contenedores:
- Container ID: identificador único por instancia.
- Image: imagen de origen (misma para varios contenedores).
- Command: instrucciones que mantienen vivo el contenedor.
- Status: “Up” confirma que está en ejecución.
- Ports: mapeo host ↔ contenedor, clave para gestión de accesos.
- Name: el alias del contenedor.
Con docker ps -a también puedes listar contenedores detenidos.
Con docker ps --size, se agrega el uso de espacio real, revelando la diferencia entre consumo aparente (KB) y real (MB) de los contenedores.
⏹️ Gestión de Recursos: Detener y Eliminar Contenedores
Para optimizar recursos, detener contenedores es esencial:
- Comando clave:
docker stop container_id
Esto elimina al contenedor de la lista activa (docker ps), aunque puede seguir visible en Docker Desktop como detenido.
En entornos productivos, este hábito evita desperdiciar memoria y CPU en instancias que no aportan valor en ese momento.
📊 Monitoreo del Rendimiento
La gestión de contenedores no termina al ejecutarlos. Es vital monitorear su comportamiento en tiempo real.
Opciones disponibles:
- Docker Desktop (gráficas): permite ver consumo de CPU, RAM y red de forma visual.
Ejemplo: refrescar varias veces
http://localhost:8085 muestra un cambio inmediato en las gráficas de carga.
- Docker stats (terminal): despliega un resumen tabular con métricas clave de uso de recursos.
Es exportable y más ágil para integraciones en pipelines de monitoreo.
🔁 El Ciclo Completo: De la Construcción a la Gestión
El recorrido de esta práctica cubre todo el ciclo de vida de un contenedor:
- Construcción de Dockerfile.
- Creación de una imagen.
- Ejecución de un contenedor.
- Administración: listar, detener, monitorear y gestionar instancias.
La recomendación final es clara: la práctica constante es el mejor método para dominar estas herramientas, tanto en terminal como en Docker Desktop.
✅ Conclusión y Recomendaciones
- Usa nombres y puertos diferenciados para múltiples instancias.
- Familiarízate con
docker ps, sus variantes y docker stats para tener control operativo.
- Integra el hábito de detener contenedores inactivos y optimizar recursos.
- Combina la visión gráfica de Docker Desktop con la agilidad de la línea de comandos.
- Recurre siempre a la documentación oficial de Docker para descubrir parámetros adicionales.
Al final, administrar contenedores no solo consiste en ejecutarlos, sino en orquestarlos de manera eficiente, garantizando estabilidad, rendimiento y un uso racional de los recursos.