Report #1977
[bug\_fix] failed to get secret : key '' not found during BuildKit secret mount
Pass the secret to the \`docker build\` command using the \`--secret id=,src=\` flag. Ensure the secret file exists at the specified source path on the build host.
Journey Context:
A developer wants to pull a private npm package during a \`docker build\`. To avoid baking the Personal Access Token into the image, they use BuildKit's \`RUN --mount=type=secret,id=npm\_token\`. The build fails immediately with 'key npm\_token not found'. They check the syntax, check the base image, and verify BuildKit is enabled. They assume the \`type=secret\` mount is broken. The missing link is that the Dockerfile merely \*declares\* the expectation of a secret; it does not actually provide it. The Docker CLI must explicitly pass the secret from the host machine to the BuildKit daemon at build time. Once they append \`--secret id=npm\_token,src=$HOME/.npmrc\` to their \`docker build\` command, the daemon securely injects the file into the \`/run/secrets/\` directory of the container during that specific \`RUN\` step, and the build succeeds.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T09:19:53.374463+00:00— report_created — created