ENTRYPOINT und CMD definieren beide, was beim Start eines Containers ausgeführt wird, erfüllen aber unterschiedliche Rollen und interagieren auf spezifische Weise. Das Verständnis des Unterschieds (und der beiden Formen — exec vs shell) ist wichtig, um Dockerfiles zu schreiben, die sich korrekt verhalten.
CMD — der Standardbefehl (überschreibbar)
CMD ["node", "server.js"]
# → the DEFAULT command when the container starts
# → but it's REPLACED if you pass a command at run time:
# docker run myapp echo hello → runs "echo hello" INSTEAD of node server.js
stellt den bereit, der durch jeden Befehl, der mit angegeben wird, wird.
