diff --git a/HowtoDocker.md b/HowtoDocker.md index 895281c8..8989315e 100644 --- a/HowtoDocker.md +++ b/HowtoDocker.md @@ -413,8 +413,9 @@ VOLUME /var/log/ # Le port 514/udp est rendu public à l'extérieur du conteneur à son exécution EXPOSE 514/udp -# La commande suivante est exécutée lorsque le conteneur est exécuté +# La commande suivante est exécutée lorsque le conteneur est exécuté, en mode "shell" CMD /usr/sbin/rsyslogd -n +# Equivalent à CMD ["/bin/sh","-c","/usr/sbin/rsyslogd","-n"] (format JSON) ``` Dans la mesure du possible, voici quelques bonnes pratiques à respecter : @@ -441,9 +442,14 @@ serait : ``` CMD touch /var/log/foo.log && tail -f /var/log/foo.log & /usr/bin/foo ``` - À noter que seulement une seule directive `CMD` est acceptée dans un _Dockerfile_. +Ici l'exécutable est spécifié pas l'instruction `CMD` mais ce n'est pas toujours le cas. +L'instruction `ENTRYPOINT` peut être utilisé pour spécifier l'exécutable, tandis que CMD permettra de donner les arguments. +Dans ce cas `ENTRYPOINT` et `CMD` doivent être spécifiés au format JSON. + +À noter qu'il peut y avoir plusieurs instructions `ENTRYPOINT` dans un _Dockerfile_ mais seul la dernière sera prise en compte. + On peut ensuite construire notre image, en lui donnant ici le _tag_ _rsyslog_ : ```