Dans Dockerfiles, il y a deux commandes qui me semblent similaires : CMD
et ENTRYPOINT
. Mais je suppose qu'il y a une différence (subtile ?) entre les deux, sinon cela n'aurait aucun sens d'avoir deux commandes pour la même chose.
La documentation indique que pour CMD
L'objectif principal d'un CMD est de fournir des valeurs par défaut pour un conteneur en cours d'exécution.
et pour ENTRYPOINT
:
Un ENTRYPOINT vous aide à configurer un conteneur que vous pouvez exécuter comme un exécutable.
Alors, quelle est la différence entre ces deux commandes ?
2 votes
^ que ! Merci @slm . Voici une autre référence très similaire qui pourrait être un peu plus à jour : docs.docker.com/reference/builder/#entrypoint
84 votes
Aussi déroutant que la différence entre
ADD
etCOPY
5 votes
Ce lien fournit la différence entre RUN, CMD, et ENTRYPOINT : goinbigdata.com/docker-run-vs-cmd-vs-entrypoint
2 votes
Notez simplement que
CMD
etENTRYPOINT
Les deux ont des formes différentes à écrire, exec et coquille forme. Faites-vous donc une faveur et comprenez les différences subtiles de comportement en fonction de la forme utilisée. Puis lisez docs.docker.com/engine/reference/builder/ .0 votes
Je pense que cette phoenixnap.com/kb/docker-cmd-vs-entrypoint l'explique très clairement.
4 votes
C'est le meilleur blog que j'ai trouvé goinbigdata.com/docker-run-vs-cmd-vs-entrypoint