#350 · Herramienta para desarrolladores

Docker Ignore Checker

Comprueba patrones de .dockerignore contra una lista de rutas simulada y muestra qué archivos quedarían incluidos o excluidos. Permite entender reglas, negaciones con ! y orden de evaluación antes de modificar el contexto real de un build.

Datos de entrada

Reglas y rutas de prueba
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Escribe las reglas .dockerignore.
  2. Añade una línea con --- como separador.
  3. Debajo, coloca las rutas que quieres probar.
  4. Ejecuta y revisa qué regla decidió el estado final de cada ruta.

Qué hace esta herramienta para desarrolladores

Aplica las reglas de arriba a abajo sobre cada ruta de prueba. Una coincidencia normal excluye y una regla con ! vuelve a incluir. El resultado muestra el estado final y la última regla que afectó a cada ruta.

El comprobador implementa un subconjunto práctico: *, **, ?, nombres de ruta, slash inicial y negación !. Convierte los patrones a expresiones regulares para simular el matching sobre rutas con “/”.

Docker tiene matices de matching y traversal que pueden variar en casos complejos. Usa este checker para depuración rápida y confirma casos críticos con un build real.

Ejemplo

Entrada

node_modules
*.log
.env*
!important.log
---
node_modules/pkg/index.js
server.log
important.log
.env.local
src/index.js

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

  • Depurar negaciones ! que no funcionan como esperabas.
  • Probar reglas antes de ignorar directorios grandes.
  • Explicar por qué un archivo no llega al contexto de build.

Consejos para obtener resultados fiables

  • Recuerda que el orden de las reglas importa.
  • Prueba rutas completas relativas al contexto de build.
  • Evita patrones demasiado generales sin casos de prueba.
  • Confirma configuraciones críticas con docker build.

Detalles del procesamiento

Las reglas vacías y comentarios se ignoran. Cada ruta se evalúa contra todas las reglas en orden y la última coincidencia determina si termina excluida o incluida.

La implementación cubre patrones frecuentes pero no replica cada detalle del paquete patternmatcher de Docker. Directorios excluidos pueden afectar la posibilidad práctica de re-incluir descendientes en el motor real.

Preguntas frecuentes

¿Cómo pruebo si un patrón .dockerignore excluye un archivo?

Escribe la regla, añade --- y luego la ruta. El resultado mostrará INCLUDED o EXCLUDED y la última regla coincidente.

¿Qué hace una regla que empieza por ! en .dockerignore?

Es una negación: vuelve a incluir una ruta que una regla anterior había excluido, siempre dentro de las reglas de matching y traversal de Docker.

¿El orden de las reglas .dockerignore importa?

Sí. La última regla que coincide puede cambiar el resultado, especialmente cuando combinas exclusiones y negaciones.

¿Puedo probar ** y comodines con esta herramienta?

Sí para casos comunes. El checker traduce *, ** y ? a un matching práctico sobre rutas separadas por /.

¿El resultado es idéntico al de Docker en todos los casos?

No se garantiza para patrones límite o comportamiento de directorios. Para casos críticos, confirma con el motor Docker que uses en CI.

Resumen de módulos

MóduloQué muestra
ReglasPatrones y negaciones en orden
RutasCasos de prueba relativos al contexto
ResultadoEstado final y última regla coincidente