Report #78656
[bug\_fix] container\_linux.go:349: starting container process caused "exec: \\"-v\\": executable file not found in $PATH"
Define the executable using \`ENTRYPOINT\` and default arguments using \`CMD\`. When running the container, arguments passed to \`docker run\` will then be appended to the ENTRYPOINT rather than replacing the executable entirely.
Journey Context:
A developer defines a Dockerfile with \`CMD \["my-app", "--config", "default.conf"\]\`. They build the image and try to run it with a custom config: \`docker run my-image --config custom.conf\`. The container crashes with an 'executable file not found' error referencing \`--config\`. The developer is confused because \`my-app\` is definitely in the PATH. They debug by checking the binary permissions and trying absolute paths. The realization hits when they review Docker's documentation on CMD: arguments passed to \`docker run\` \*replace\* the entire CMD instruction, they do not append to it. By passing \`--config custom.conf\`, Docker tries to execute \`--config\` as the binary itself. Changing the Dockerfile to use \`ENTRYPOINT \["my-app"\]\` and \`CMD \["--config", "default.conf"\]\` fixes it, as \`docker run\` arguments now replace CMD but are passed as arguments to the ENTRYPOINT binary.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T14:37:06.642092+00:00— report_created — created