web-dev-qa-db-fra.com

Comment filtrer le processus Docker en fonction de l'image

J'ai essayé d'obtenir l'ID de conteneur de l'instance de docker à l'aide de la commande de processus docker, mais lorsque j'essaie avec le filtre par nom cela fonctionne bien pour moi.

Sudo -S docker ps -q --filter="name=romantic_rosalind"

Identifiant du conteneur de résultats:

3c7e865f1dfb

Mais quand je filtre en utilisant image je reçois tous les identifiants de conteneur d'instance:

Sudo -S docker ps -q  --filter="image=docker-mariadb:1.0.1"

ID du conteneur de résultats:

5570dc09b581

3c7e865f1dfb

Mais je souhaite obtenir uniquement l'identifiant du conteneur de mariadb.

Comment obtenir l'identifiant du conteneur du processus docker en utilisant le filtre comme image?

39
Priya Dharshini

Vous pouvez utiliser awk et grep pour filtrer l'ID de conteneur spécifié. Par exemple:

docker ps | grep "docker-mariadb:1.0.1" | awk '{ print $1 }'

Cela imprimera l'identifiant de votre conteneur.

31
wsl

Utilisez "ancêtre" au lieu de "image" qui fonctionne très bien. Exemple:

Sudo -S docker ps -q  --filter ancestor=docker-mariadb:1.0.1

L'équipe Docker l'a peut-être ajouté dans les dernières versions: http://docs.docker.com/engine/reference/commandline/ps/

72

Avec une commande docker container ls pour répertorier les conteneurs (qui remplace docker ps) la solution serait:

docker container ls | grep "docker-mariadb:1.0.1" | awk '{ print $1 }'

vous pouvez également utiliser * signe (si nécessaire) comme ceci:

docker container ls | grep "docker-mariadb:*" | awk '{ print $1 }'

Voir https://docs.docker.com/engine/reference/commandline/container_ls/

2
heroin
docker ps -a | awk '{ print $1,$2 }' | grep imagename | awk '{print $1 }'

C'est parfait. si vous en avez besoin, vous pouvez ajouter un filtre d'images en cours d'exécution d'un état particulier seul, comme ci-dessous

docker ps -a --filter=running | awk '{ print $1,$2 }' | grep rulsoftreg:5000/mypayroll/cisprocessing-printdocsnotifyconsumer:latest | awk '{print $1 }'

Diverses autres options de filtrage peuvent être explorées ici

https://docs.docker.com/v1.11/engine/reference/commandline/ps/

0
Mohammed Rafeeq