Docker Entrypoint e CMD sono istruzioni che possono essere incluse in un Dockerfile per eseguire comandi quando un contenitore viene avviato.
Entrypoint definisce il comando che sarà eseguito quando il contenitore viene avviato. Questo può essere un comando built-in (come “echo”) o uno script personalizzato. Puoi specificare un Entrypoint nel tuo Dockerfile utilizzando la sintassi ENTRYPOINT [“comando”, “parametro1”, “parametro2”], e questo comando verrà eseguito ogni volta che il contenitore viene avviato.
CMD, d’altro canto, fornisce argomenti di default per un comando Entrypoint. Può essere sovrascritto con nuovi argomenti forniti al momento dell’avvio del contenitore. Se CMD viene utilizzato senza Entrypoint, CMD agirà come un comando da eseguire. Tuttavia, se Entrypoint è presente, CMD fornirà argomenti a quel comando.
In sintesi, Entrypoint specifica un comando che deve sempre essere eseguito quando il contenitore viene avviato, mentre CMD specifica argomenti che vengono passati a un comando Entrypoint (se specificato) o viene eseguito come un comando standalone se Entrypoint non è specificato.