Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
sysadmin:docker:cmd_vs_entrypoint [2021/12/29 17:53] – yoann | sysadmin:docker:cmd_vs_entrypoint [2021/12/30 00:18] (Version actuelle) – yoann | ||
---|---|---|---|
Ligne 122: | Ligne 122: | ||
===== Utilisation conjointe ===== | ===== Utilisation conjointe ===== | ||
- | Jusqu' | + | Jusqu' |
+ | |||
+ | La combinaison des directives | ||
+ | |||
+ | < | ||
+ | RUN apt-get update && apt-get install -y iputils-ping procps | ||
+ | |||
+ | # Binaire et options non modifiables | ||
+ | ENTRYPOINT ["/ | ||
+ | |||
+ | # Arguments et options redéfinissables | ||
+ | # facilement par l' | ||
+ | CMD [" | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | # Création d'une nouvelle image | ||
+ | docker image build -t " | ||
+ | |||
+ | # Création et exécution d'un conteneur basé sur la nouvelle | ||
+ | docker container run --rm --name test_together -t phobos/ | ||
+ | |||
+ | docker container ps -a | ||
+ | CONTAINER ID | ||
+ | 14dcebd6b360 | ||
+ | </ | ||
+ | |||
+ | On note que la commande exécutée dans le conteneur est une combinaison de d' **ENTRYPOINT** et de **CMD**. Quand les deux directives existent dans le Dockerfile, les valeurs de **CMD** sont ajoutées à celle d' **ENTRYPOINT** pour créer la commande à exécuter dans le conteneur. | ||
+ | |||
+ | Les valeurs définies via CMD pouvant facilement être redéfinies par l' | ||
+ | |||
+ | Dans l' | ||
+ | être remplacé à l' | ||
+ | |||
+ | <code bash> | ||
+ | # Création d'un conteneur avec redéfinition des arguments par défaut | ||
+ | docker container run phobos/ | ||
+ | |||
+ | # Liste les conteneurs existants | ||
+ | docker container ps -a | ||
+ | CONTAINER ID | ||
+ | 1f0e6fd6d6de | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Dans ce cas exécuter l’exécution du conteneur s' | ||
+ | |||
+ | ==== Toujours utiliser la forme exec en utilisation conjointe ==== | ||
+ | |||
+ | Lorsqu' | ||
+ | |||
+ | ^ Dockerfile | ||
+ | | < | ||
+ | ENTRYPOINT /bin/ping -c 3 | ||
+ | CMD localhost | ||
+ | </ | ||
+ | | < | ||
+ | ENTRYPOINT ["/ | ||
+ | CMD localhost | ||
+ | </ | ||
+ | | < | ||
+ | ENTRYPOINT /bin/ping -c 3 | ||
+ | CMD [" | ||
+ | </ | ||
+ | | < | ||
+ | ENTRYPOINT ["/ | ||
+ | CMD [" | ||
+ | </ | ||
+ | |||
+ | Une seule de ces combinaisons aboutie à une ligne de commande valide: celle qui utilise les formes d' | ||
- | En combinant | ||
===== Références ===== | ===== Références ===== | ||
* https:// | * https:// |