#347 · Herramienta para desarrolladores

Dockerfile Instruction Extractor

Extrae las instrucciones de un Dockerfile y las presenta en una lista estructurada con línea, etapa, opcode y argumento. Facilita auditar builds largos, localizar COPY o RUN repetidos y preparar documentación técnica sin ejecutar la imagen ni modificar el archivo original.

Datos de entrada

Dockerfile
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Pega el Dockerfile.
  2. Ejecuta el extractor.
  3. Consulta la lista JSON ordenada por aparición.
  4. Descarga el inventario si necesitas procesarlo en otra herramienta.

Qué hace esta herramienta para desarrolladores

Convierte el Dockerfile en un inventario ordenado. Cada entrada conserva la instrucción original, el argumento y la etapa activa para que puedas analizar el flujo del build de forma compacta.

Las líneas que continúan con barra invertida se unen en una sola instrucción lógica. Cada FROM incrementa el índice de etapa y el alias AS se registra cuando existe.

Los comentarios aislados y líneas vacías se omiten. Los comentarios inline se conservan como parte del argumento porque pueden formar parte de una cadena o comando.

Ejemplo

Entrada

FROM node:22-alpine AS build
WORKDIR /src
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=build /src/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

  • Documentar pipelines multi-stage.
  • Contar operaciones RUN y COPY.
  • Preparar análisis de capas o migraciones de Dockerfile.

Consejos para obtener resultados fiables

  • Mantén aliases AS claros en builds multi-stage.
  • Revisa instrucciones RUN extensas como unidades lógicas.
  • Usa el inventario para localizar operaciones duplicadas.
  • No asumas que el número de instrucciones equivale al número final de capas.

Detalles del procesamiento

El parser implementa continuaciones con barra invertida y conserva la línea inicial de cada instrucción. Para FROM detecta un alias opcional mediante AS.

No interpreta parser directives avanzadas de BuildKit ni expande variables. Su objetivo es extraer la estructura textual, no reproducir el parser completo del motor Docker.

Preguntas frecuentes

¿Cómo extraigo todas las instrucciones de un Dockerfile?

Pega el archivo y ejecuta el extractor. Obtendrás una lista con línea, etapa, instrucción y argumento.

¿Las líneas con barra invertida cuentan como una sola instrucción?

Sí. Se combinan hasta que termina la continuación, manteniendo como referencia la línea donde empezó la instrucción.

¿Cómo se representan las etapas de un Dockerfile multi-stage?

Cada FROM abre una nueva etapa. La salida registra su índice y, si existe, el alias indicado con AS.

¿Los comentarios aparecen en la salida?

Los comentarios que ocupan una línea completa se omiten. El texto inline permanece dentro del argumento de la instrucción.

¿El extractor calcula cuántas capas tendrá la imagen?

No. Algunas instrucciones no crean capa y el motor puede optimizar el build; la herramienta muestra instrucciones, no el grafo final de capas.

Resumen de módulos

MóduloQué muestra
InstrucciónOpcode normalizado
EtapaÍndice y alias de FROM
OrigenLínea inicial y argumento completo