Report #76215
[bug\_fix] Authentication failed or No such file or directory during a RUN --mount=type=secret step
Pass the secret explicitly via the \`docker build\` command using \`--secret id=,src=\`. Also, add \`required=true\` to the mount instruction in the Dockerfile to make missing secrets fail explicitly: \`RUN --mount=type=secret,id=mysecret,required=true ...\`.
Journey Context:
A developer wants to securely pull a private Git repository during the build. They add \`RUN --mount=type=secret,id=sshkey ...\` to their Dockerfile and run \`docker build .\`. The build fails with an SSH permission denied error. They verify their SSH key works on the host. They realize BuildKit doesn't automatically mount host files just because they are declared in the Dockerfile; this would be a massive security risk. The secret must be explicitly injected at build time. They add \`--secret id=sshkey,src=~/.ssh/id\_rsa\` to the \`docker buildx build\` command. To prevent future silent failures where the build proceeds without the secret \(using an empty mount\), they add \`required=true\` to the mount instruction, ensuring the build fails fast if the CI pipeline forgets to inject the secret.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T10:30:56.236259+00:00— report_created — created