Je souhaite inspecter une image de menu fixe créée par quelqu'un d'autre avec à la fois un point d'entrée et une cmd spécifiés, par exemple:
ENTRYPOINT ["/usr/sbin/apache2ctl"]
CMD ["-D", "FOREGROUND"]
Je fais actuellement:
docker run --interactive --tty --entrypoint=/bin/bash $IMAGE --login
Existe-t-il un moyen de remplacer CMD pour qu'il soit vide (je n'ai donc pas à utiliser "--login")?
-i
après$IMAGE
?Voir: https://docs.docker.com/engine/reference/run/#overriding-dockerfile-image-defaults
Partie pertinente:
CMD (commande ou options par défaut) Rappelez la commande optionnelle COMMAND dans la ligne de commande de Docker:
Cette commande est facultative car la personne qui a créé l'IMAGE a peut-être déjà fourni une COMMANDE par défaut à l'aide du CMD Dockerfile. En tant qu'opérateur (la personne qui exécute un conteneur à partir de l'image), vous pouvez remplacer ce CMD en spécifiant simplement une nouvelle COMMAND.
Si l'image spécifie également un ENTRYPOINT, le CMD ou la COMMANDE est ajouté en tant qu'argument à ENTRYPOINT.
Donc , pour faire ce que vous voulez , vous devez seulement spécifier un cmd et passer outre à l' aide
/bin/bash
. Pas tout à fait "vide", mais ça fait 99% du travail.la source
--login
à-l
Je suppose que votre solution est déjà aussi bon qu'il obtient.1 ? Ssl 0:00 /usr/bin/geth echo setting up db
Pour tous ceux qui viennent ici pour substituer une commande entrypoint AND à une autre, par exemple, exécutez bash au lieu du script entrypoint, puis exécutez une autre commande avec des paramètres (cela ne me semblait pas clair à partir d'autres réponses):
-c 'npm link ...'
est un paramètre pour/bin/sh
donc ici vous pouvez passer toute commande que vous voudriez exécuter dans un conteneur./bin/sh
est pour les images alpines, le/bin/bash
plus probable pour les autres images.la source
'...'
utilisez des guillemets doubles"..."
/bin/sh
mais le vôtre pourrait ne pas être ce cas.