Report #16372
[bug\_fix] Negation patterns like \!src/main.py in .dockerignore fail to include files if the parent directory src is ignored
Ignore the contents of the directory using a wildcard \(e.g., src/\*\*\) instead of the directory itself \(src/\), then use the negation pattern \(\!src/main.py\).
Journey Context:
A developer wants to ignore everything in the 'src' directory except a single config file. They add 'src' then '\!src/config.json' to .dockerignore. The build fails because config.json is missing from the context. They try reordering the lines, adding more negations, and checking syntax, but nothing works. They finally read the .dockerignore specification closely and discover that ignoring a directory marks the entire directory tree as ignored, preventing the scanner from even entering it to evaluate negation rules. Changing 'src' to 'src/\*\*' allows the scanner to traverse the directory and correctly apply the '\!src/config.json' exception.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T02:27:27.493597+00:00— report_created — created