0
votes

Comment puis-je obtenir (à l'aide d'un script) l'ID à utiliser avec Docker Exec?

Après l'exécution d'une image Docker, comment puis-je obtenir de manière programmable l'identifiant afin que je puisse les commandes de script pour cette image? Je pense que l'ID que je veux s'appelle l'identifiant conteneur code> car c'est la liste dans la sortie de la commande Docker PS code>.

Par exemple, je commence le Image utilisant docker exécuter code>, i Exécution de la commande docker ps code> pour obtenir "id" je veux et puis je peux exécuter docker journaux code> ou d'autres commandes . p> xxx pré>

alors maintenant que je connais l'identifiant du conteneur est 1234567890 code>, je peux exécuter des commandes sur le conteneur. P>

docker inspect --format='{{.Id}}' myImage
sha256:95e11.....


4 commentaires

Exécution Docker Inspect MyImage Vous donnera des informations sur la Image , pas le conteneur que vous avez commencé.


Pourquoi n'attribuez-vous pas directement un nom à votre instance de conteneur ( Docs .Docker.com / Engine / Référence / Run / # Nom --- Nom )? Vous pourrez exécuter des commandes sur l'instance de conteneur par son nom.


@ Ass3Mbler, merci pour la suggestion. J'ai googlé et trouvé ce digitalOcean.com/communité / Tutoriels / ... qui a été utile aussi.


@Pats heureux ça a aidé! :)


3 Réponses :


3
votes

Si vous démarrez un conteneur détaché ( Docker Run -D ... code>), le client Docker émettra l'ID du conteneur sur stdout. Donc, vous pouvez faire quelque chose comme: xxx pré>

Si vous attribuez votre conteneur un nom, vous pouvez l'utiliser à la place de l'ID du conteneur: P>

$ CONTAINER_ID=$(docker container ps --filter ancestor=myImage -q)
$ docker exec $CONTAINER_ID somecommand


0 commentaires

0
votes

Aussi vous pouvez faire de cette manière

for container_id in $(docker ps  --filter="name=$myImage" -q -a);do docker rm $container_id;done


0 commentaires

0
votes

Vous pouvez obtenir un identifiant de conteneur en filtrant qui créé à partir d'une image particulière. xxx

ancêtre : Conteneurs de filtrage qui partagent une image donnée comme ancêtre

-q : sortie uniquement l'identifiant

-f : pour Filtrage

-L : Affiche la dernière


0 commentaires