Report #11088
[bug\_fix] COPY failed: file not found in build context despite the file existing in the repository
Review the \`.dockerignore\` file for overly broad patterns \(e.g., \`\*\*/config\`, \`\*.json\`, or \`\*\`\) that are excluding the necessary files from the build context. Add exception rules \(e.g., \`\!config/myconfig.json\`\) if needed.
Journey Context:
A developer adds a new JSON configuration file to their repo and updates the Dockerfile to \`COPY config/app.json /etc/app/\`. The build fails claiming the file does not exist. They verify the path repeatedly, check git status, and even try absolute paths. They eventually trace the issue to the \`.dockerignore\` file, which contains a blanket \`\*.json\` rule intended to prevent local test results from bloating the image. Because \`.dockerignore\` evaluates paths before the Docker daemon receives the context, the file is stripped out entirely. The developer adds an exception \`\!config/app.json\` to the \`.dockerignore\` file, allowing the specific configuration file through while still ignoring other JSON files.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T12:24:50.306493+00:00— report_created — created