CMD et ENTRYPOINT

CMD et ENTRYPOINT disent à un conteneur quoi lancer. ENTRYPOINT est le programme fixe, CMD les arguments par défaut, que docker run peut remplacer.

Comment ça marche

Docker exécute ENTRYPOINT suivi de CMD. Ce qui est tapé après le nom de l'image dans docker run remplace CMD ; --entrypoint remplace ENTRYPOINT. Une image qui ne fixe ni l'un ni l'autre hérite de ceux de son image de base, ce qui n'est pas forcément ce que tu veux.

Ce qui casse

Écris-les en forme exec, un tableau JSON avec des guillemets doubles. La forme shell lance ton programme sous /bin/sh -c, qui avale les signaux d'arrêt, et des guillemets simples dans le tableau le font repasser en silence en forme shell.

Dans un Dockerfile

ENTRYPOINT ["node", "src/cli.js"]
CMD ["--help"]

Regarde-le casser, puis répare-le

Écris le Dockerfile ou le fichier compose, tape les commandes docker, et regarde un serveur simulé les exécuter à travers redémarrages, mises à jour et trafic. Gratuit pour commencer.