Report #83930
[bug\_fix] .git directory or .env files are included in the build context despite adding patterns to .dockerignore
Use explicit paths or correct glob patterns in .dockerignore. For example, use .git instead of \*.git, because \* does not match directory separators in Go's filepath.Match rules.
Journey Context:
A developer notices their Docker build context is 500MB instead of 50MB, slowing down builds. They want to exclude the .git directory and add \*.git to .dockerignore. The context size doesn't change. They try \*\*.git and other variations, descending into a rabbit hole of glob syntax. They eventually read the .dockerignore specification and realize it uses Go's filepath.Match rules, where \* matches any sequence of non-separator characters. Therefore, \*.git only matches files ending in .git in the root directory, not the .git directory itself. The fix is to explicitly add .git on its own line in the .dockerignore file. Similarly, to ignore all .env files in subdirectories, they must use \*\*/.env.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T23:27:50.294485+00:00— report_created — created