🚀 De Imágenes a Contenedores en Docker: Un Viaje Completo
📦 De la Imagen al Contenedor
Una vez que contamos con una imagen en Docker Desktop, transformarla en contenedor es tan sencillo como presionar el botón Run.
- Docker Desktop automatiza el proceso y nos muestra estadísticas de hardware y estado del contenedor.
- Con un clic también podemos detener el contenedor con Stop.
👉 Ejemplo: Ejecutar una imagen de Nginx desde Docker Desktop y ver cómo se crea un contenedor en segundos.
🖥️ Docker Desktop vs Línea de Comandos
Aunque Docker Desktop es cómodo en entornos locales, la automatización real sucede en la terminal.
- Docker Desktop → ideal para pruebas rápidas, asignar puertos fácilmente y visualizar contenedores.
- Línea de comandos → esencial en entornos productivos, CI/CD y despliegues automatizados.
👉 Ejemplo: usar docker ps para ver que un contenedor detenido sigue existiendo en estado persistente.
⌨️ Comandos Fundamentales
El poder de Docker está en sus comandos. Los más usados para correr un contenedor son:
docker images → lista imágenes disponibles.
docker ps → muestra contenedores activos.
docker run → crea y ejecuta un contenedor.
Al ejecutar docker run, se pueden añadir parámetros clave:
-it → modo interactivo, útil para ver logs en tiempo real.
--rm → elimina el contenedor al detenerse, evitando basura.
-d → ejecuta el contenedor en segundo plano.
-p 8080:80 → mapea el puerto 8080 del host al 80 del contenedor.
--name web → asigna un nombre al contenedor para identificarlo fácilmente.
👉 Ejemplo hipotético: levantar un contenedor de Node.js con docker run -d -p 3000:3000 --name mi-app node.
🌐 La Magia de los Puertos
El parámetro -p permite abrir la “puerta” hacia la aplicación dentro del contenedor.
- Puerto del host (ej. 8080) → acceso desde tu máquina.
- Puerto del contenedor (ej. 80) → donde realmente escucha la aplicación.
👉 Ejemplo: localhost:8080 se conecta al servidor Nginx en el puerto 80 dentro del contenedor.
🗂️ Explorando el Contenedor
Con la opción Exec en Docker Desktop podemos navegar dentro del sistema de archivos del contenedor.
- Permite inspeccionar rutas como
/usr/share/nginx/html.
- Usando
ls, se verifican archivos disponibles como link-tree.html.
👉 Ejemplo: Confirmar que un archivo web está dentro del contenedor antes de exponerlo.
🌍 Desplegando un Sitio Web Local
El resultado práctico: acceder a un sitio web local usando el contenedor.
- Ejecutar
docker run -d -p 8080:80 --name web sitio-web.
- Ir a
localhost:8080/link-tree.html en el navegador.
- El sitio se carga sin necesidad de tener Nginx instalado en la máquina anfitriona.
✨ Ventaja clave: el host no necesita el software instalado, solo Docker y la imagen correspondiente.
📝 Conclusiones y Recomendaciones
El recorrido mostró cómo pasar de una imagen a un contenedor y exponer un sitio web completo:
- Docker Desktop facilita pruebas rápidas y visualización.
- La línea de comandos brinda flexibilidad y automatización, imprescindibles en producción.
- Parámetros como
-p, -d, --rm, y --name son herramientas críticas para un uso eficiente.
- La exploración de archivos dentro de un contenedor permite validar despliegues con mayor seguridad.