Report #55684
[bug\_fix] CMD arguments or docker run arguments are completely ignored at container startup.
Change \`ENTRYPOINT\` from shell form \(\`ENTRYPOINT my-app\`\) to exec form \(\`ENTRYPOINT \["my-app"\]\`\).
Journey Context:
A developer defines \`ENTRYPOINT python app.py\` and \`CMD \["--port", "8080"\]\` in their Dockerfile. When they run the container, the app starts but completely ignores the \`--port 8080\` argument. They spend hours debugging their Python \`argparse\` configuration, thinking the script is faulty. They even try \`docker run my-image --port 9090\`, but it still defaults. Finally, they read the Docker ENTRYPOINT specification closely. The shell form of \`ENTRYPOINT\` runs the command as a child of \`/bin/sh -c\`, which does not pass down \`CMD\` or \`docker run\` arguments to the underlying process. Switching to the exec form \`ENTRYPOINT \["python", "app.py"\]\` makes Python PID 1, ensuring it directly receives the \`CMD\` string as arguments.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T23:57:31.355857+00:00— report_created — created