En esta lección vas a entender el flujo básico Dockerfile imagen y contenedor. Es una pieza clave del curso porque conecta tres conceptos que suelen confundirse al empezar: la receta, la plantilla construida y el proceso en ejecución.
La idea es simple: primero escribes un Dockerfile, después construyes una imagen y, por último, arrancas un contenedor a partir de esa imagen.
👉 Y recuerda, si quieres aprender más de Linux, pincha en este curso de Linux gratis
🐳 Si quieres aprender más de Docker, pincha en este curso de Docker gratis
Qué significa el flujo básico Dockerfile imagen y contenedor
Problema: si mezclas Dockerfile, imagen y contenedor, es difícil saber dónde corregir un error. No es lo mismo cambiar la receta, reconstruir la imagen o reiniciar un contenedor ya creado.
Qué aporta Docker: separa el proceso en pasos claros. El Dockerfile describe cómo construir, la imagen guarda el resultado y el contenedor ejecuta esa imagen.
| Elemento | Qué es | Pregunta útil |
|---|---|---|
| Dockerfile | Archivo de receta | ¿Cómo se construye la imagen? |
| Imagen | Resultado construido | ¿Qué plantilla voy a ejecutar? |
| Contenedor | Proceso en ejecución | ¿Qué instancia está corriendo ahora? |
Ejemplo práctico paso a paso
Crea un directorio de prueba con un archivo HTML sencillo y un Dockerfile mínimo basado en Nginx.
mkdir web-demo
cd web-demo
mkdir public
printf "<h1>Hola desde Docker</h1>
" > public/index.htmlFROM nginx:stable-alpine
COPY ./public /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]docker build -t web-demo:1.0 .
docker run -d --name web-demo -p 8080:80 web-demo:1.0
docker ps --filter "name=web-demo"Aquí el Dockerfile define la receta, docker build crea la imagen web-demo:1.0 y docker run arranca un contenedor llamado web-demo publicado en el puerto 8080 del host.
Cómo verificar que entendiste el flujo
- Si modificas el Dockerfile: necesitas reconstruir la imagen para que el cambio exista.
- Si modificas la imagen: en realidad estás creando una nueva versión con otro build.
- Si detienes el contenedor: la imagen sigue existiendo y puedes crear otro contenedor desde ella.
- Si borras el contenedor: no borras automáticamente la imagen.
docker images --filter "reference=web-demo"
docker stop web-demo
docker rm web-demo
docker run -d --name web-demo-2 -p 8081:80 web-demo:1.0Errores comunes
- Editar el Dockerfile y no reconstruir: el contenedor seguirá usando la imagen anterior.
- Creer que una imagen está “corriendo”: lo que corre es el contenedor.
- No etiquetar la imagen: después cuesta saber qué versión estás ejecutando.
- Usar siempre latest: complica reproducibilidad y aprendizaje.
Advertencia: no uses este flujo como excusa para hacer cambios manuales dentro del contenedor. Si el cambio debe repetirse, debe ir al Dockerfile o al contexto de build.
Lecciones relacionadas del curso Docker
- Qué es un Dockerfile
- Estructura básica de un Dockerfile
- Cómo construir una imagen Docker
- Creando tu primer contenedor
- Instrucción FROM
Documentación oficial y recursos
- Escribir un Dockerfile — Docker Docs
- Referencia oficial de docker build
- Referencia oficial de docker run
Si algo falla, localiza primero la fase: error de Dockerfile, error de build, error de imagen o error al ejecutar el contenedor.

