Report #17128
[bug\_fix] RUN --mount=type=secret fails to expose the secret file inside the build step
Pass the secret explicitly to the docker build command using --secret id=mysecret,src=mysecret.txt \(or env variant\) and ensure BuildKit is enabled.
Journey Context:
A developer wants to clone a private Git repository during a Docker build without leaving the SSH key in the image layer. They add RUN --mount=type=secret,id=ssh\_key,target=/root/.ssh/id\_rsa git clone [email protected]:org/repo.git to their Dockerfile. The build fails with a Git permission denied error. They verify the local key works. The developer realizes that simply declaring the mount in the Dockerfile does not magically inject the host's secret; the BuildKit client must explicitly pass it during the build invocation. The fix is to export the key \(e.g., export SSH\_KEY=$\(cat ~/.ssh/id\_rsa\)\) and append --secret id=ssh\_key,env=SSH\_KEY to the docker build command. This securely injects the key into the build step without baking it into the final image.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T04:28:21.183946+00:00— report_created — created