Flujo básico Dockerfile, imagen y contenedor

flujo-basico-dockerfile-imagen-contenedor
flujo-basico-dockerfile-imagen-contenedor

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.

ElementoQué esPregunta útil
DockerfileArchivo de receta¿Cómo se construye la imagen?
ImagenResultado construido¿Qué plantilla voy a ejecutar?
ContenedorProceso 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.html
FROM 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.0

Errores 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

Documentación oficial y recursos

Si algo falla, localiza primero la fase: error de Dockerfile, error de build, error de imagen o error al ejecutar el contenedor.

Comentarios

No hay comentarios aún. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *