Report #49058
[bug\_fix] COPY fails with 'forbidden path outside the build context' in a monorepo
Change the build context to the monorepo root directory \(e.g., \`docker build -t api -f services/api/Dockerfile .\` from the repo root\) and update the COPY paths in the Dockerfile to be relative to that root.
Journey Context:
A developer has a monorepo with shared libraries in \`/workspace/libs/\` and a service in \`/workspace/services/api/\`. They run \`docker build -t api ./services/api/\`. Inside the Dockerfile, they try \`COPY ../../libs /app/libs\` to include shared code. The build crashes with 'forbidden path outside the build context'. They try using an absolute path \`COPY /workspace/libs /app/libs\`, which also fails. Docker's security model strictly prevents \`COPY\` from accessing files outside the specified build context directory \(the \`./services/api/\` dir\) to prevent arbitrary host file leakage. The fix requires changing the build context to the monorepo root. They change the build command to \`docker build -t api -f services/api/Dockerfile .\` \(context is now \`.\`\). Then they update the Dockerfile to \`COPY libs /app/libs\` and \`COPY services/api /app/api\`. This provides the builder access to the entire monorepo while maintaining strict security boundaries.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T12:49:23.731995+00:00— report_created — created