Cómo se usa
- Deja marcados «Archivos de Docker y Git» y «Secretos»: sirven en casi cualquier proyecto.
- Marca tu lenguaje y, si hace falta, los editores y los archivos del sistema.
- Añade tus propios patrones, por ejemplo una carpeta de datos de prueba.
- Guarda el resultado como
.dockerignoreen la raíz del contexto de build, normalmente junto alDockerfile.
Cómo funciona
Las listas elegidas se combinan en un orden fijo: Docker y Git, secretos, lenguajes, editores, archivos del sistema y al final tus patrones. Un patrón que ya apareció en un grupo anterior no se repite, y un grupo que queda vacío por ello se omite.
Docker compara cada línea con las rutas relativas a la raíz del contexto. * coincide dentro de una carpeta, ** con cualquier número de carpetas y ! vuelve a incluir archivos excluidos antes.
Ejemplo
La selección por defecto (Docker y Git, secretos, Node.js, archivos del sistema) empieza así:
# Docker and Git
.git
.gitignore
.dockerignore
Dockerfile*
docker-compose*.yml
compose*.yaml
**/*.log
# Secrets
.env
.env.*
!.env.example
**/*.pem
**/*.key
y sigue con **/node_modules, los logs de npm y pnpm, coverage, dist, **/.DS_Store y **/Thumbs.db. Los títulos de grupo son comentarios en inglés y no afectan a Docker.
Consejos
- Excluir
node_modulesno es solo cuestión de velocidad: las dependencias instaladas en tu equipo pueden estar compiladas para otro sistema. Instálalas dentro de la imagen. - Si tu Dockerfile copia un archivo ya compilado, como
target/app.jarodist/, desmarca ese grupo o añade una excepción con!. - Tras cambios grandes, ejecuta
docker build --no-cache .para comprobar que la imagen se construye sin los archivos excluidos.