ENTRYPOINT dans le build de l'image

This commit is contained in:
tdavid 2023-09-06 15:29:07 +02:00
parent b2511c4b01
commit a321c0fe91

View file

@ -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_ :
```