#348 · Herramienta para desarrolladores

Dockerfile Stage Visualizer

Representa las etapas de un Dockerfile multi-stage como un esquema textual: imagen base, alias, rango de instrucciones y copias entre etapas. Ayuda a entender dependencias de build y artefactos que pasan de una fase a otra sin necesidad de ejecutar Docker.

Datos de entrada

Dockerfile multi-stage
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Pega un Dockerfile con una o varias instrucciones FROM.
  2. Ejecuta el visualizador.
  3. Revisa el resumen de cada etapa.
  4. Comprueba las referencias --from y si apuntan a aliases locales o fuentes externas.

Qué hace esta herramienta para desarrolladores

Agrupa instrucciones por cada FROM y construye un mapa de dependencias basado en COPY/ADD --from. Así puedes ver qué etapa consume artefactos de otra y detectar referencias a aliases inexistentes.

Cada FROM crea una etapa. Se extrae el alias opcional AS y se buscan flags --from=valor en COPY o ADD para crear aristas entre etapas.

Las referencias --from también pueden apuntar a una imagen externa, no solo a un alias local; por eso una referencia desconocida se señala como externa o no resuelta, no como error absoluto.

Ejemplo

Entrada

FROM node:22-alpine AS deps
WORKDIR /app
COPY package*.json ./
RUN npm ci
FROM node:22-alpine AS build
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN npm run build
FROM nginx:alpine AS runtime
COPY --from=build /app/dist /usr/share/nginx/html

Resultado esperado

La herramienta procesa el ejemplo con la lógica descrita arriba y muestra un resumen estructurado listo para copiar o descargar.

Casos de uso

  • Entender Dockerfiles heredados.
  • Revisar separación build/runtime.
  • Detectar dependencias entre etapas antes de refactorizar.

Consejos para obtener resultados fiables

  • Asigna aliases descriptivos a las etapas reutilizadas.
  • Mantén la etapa runtime lo más pequeña posible.
  • Comprueba qué artefactos cruza cada COPY --from.
  • Evita depender de índices numéricos si un alias hace el Dockerfile más legible.

Detalles del procesamiento

El análisis identifica FROM por línea y asigna las instrucciones siguientes a esa etapa hasta el siguiente FROM. Las dependencias se extraen del flag --from en COPY y ADD.

No interpreta targets de build, ARG usados dentro de FROM ni dependencias implícitas por mounts de BuildKit. El mapa refleja únicamente referencias visibles en el Dockerfile.

Preguntas frecuentes

¿Cómo visualizo un Dockerfile multi-stage sin construir la imagen?

Pega el Dockerfile y la herramienta agrupará las instrucciones por FROM y mostrará las referencias COPY/ADD --from.

¿Qué es un alias de etapa en Dockerfile?

Es el nombre definido con “FROM imagen AS alias” y permite referirse a esa etapa desde instrucciones posteriores.

¿COPY --from puede apuntar a algo que no sea una etapa local?

Sí. Puede referirse a una imagen externa o a un contexto adicional, por lo que una referencia no resuelta localmente no siempre es un error.

¿Por qué conviene separar build y runtime?

Permite copiar al runtime solo los artefactos necesarios y evitar incluir toolchains o dependencias de compilación en la imagen final.

¿El visualizador detecta dependencias de RUN --mount=from?

No en esta versión. El mapa se centra en dependencias explícitas COPY/ADD --from.

Resumen de módulos

MóduloQué muestra
EtapasFROM, imagen base y alias
DependenciasCOPY/ADD --from
ResumenCantidad de instrucciones por fase