cmd vs entrypoint

Comment utiliser Docker ENTRYPOINT et CMD

Nous allons voir dans cet article la différence entre les deux directives Docker ENTRYPOINT et CMD. Les deux sont utilisées pour exécuter une commande dans l’instance de l’image, mais avec une petite différence.

CMD peut transmettre les paramètres par défaut à ENTRYPOINT si les deux sont définis.

CMD

FROM node:8.11-slim

CMD ["node", "--version"]
docker build -t cmd

Nous allons instancier cette image pour l’exemple. C’est une image avec seulement une commande exécutée :

docker exécuter -it cmd
//output
v8.11.4

docker exécuter -it cmd npm --version
//output
5.6.0

ENTRYPOINT

FROM node:8.11-slim

ENTRYPOINT ["node", "--version"]

Nous allons instancier le même type d’image, mais avec un ENTRYPOINT :

docker build -t entrypoint

Maintenant, nous allons exécuter les mêmes commandes :

docker run -it entrypoint
//output
v8.11.4
docker run -it entrypoint npm --version
//output
v8.11.4

Conclusion

Si la commande lancée par le container Docker peut changer, utilisez CMD et dans le cas contraire, utilisez ENTRYPOINT.
Pour aller plus loin vous pouvez lire les articles suivant

chevron_left
chevron_right

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Commentaire
Nom
E-mail
Site