Bases du cloud et des conteneurs
FROM alpine
ENTRYPOINT ["ping", "-c", "3"]
CMD ["localhost"]Une image nommée pinger, construite à partir du Dockerfile ci-dessus, est démarrée par docker run pinger example.com. Quelle est la commande exécutée dans le conteneur ?
- Aping -c 3 localhost
- Bping -c 3 example.com
- Cexample.com (la tentative de l'exécuter comme commande échoue avec une erreur)
Afficher la réponse et l'explication
Réponse : B. ping -c 3 example.com
Un ENTRYPOINT écrit sous forme exec (un tableau JSON) est la commande que le conteneur exécute toujours, et CMD en fournit les arguments par défaut. Les arguments écrits après le nom de l'image dans docker run remplacent CMD et sont ajoutés après l'ENTRYPOINT : c'est donc ping -c 3 example.com qui est exécuté. Démarré sans arguments, par docker run pinger, le conteneur utiliserait le localhost de CMD, ce qui donnerait ping -c 3 localhost. Pour changer l'ENTRYPOINT lui-même, on utilise l'option --entrypoint de docker run.
Continuer : 9 autres questions sur Bases du cloud et des conteneurs