imagenes hub detener crear contenedor docker ubuntu docker-image

hub - Detener los contenedores Docker por nombre de imagen-Ubuntu



docker hub (13)

Después del número 8959 , un buen comienzo sería:

docker ps -a -q --filter="name=<containerName>"

Como el name refiere al contenedor y no al nombre de la imagen, deberá usar el ancestro del filtro Docker 1.9 más reciente, mencionado en la answer koekiebox .

docker ps -a -q --filter ancestor=<image-name>

Como se comenta a continuación por kiril , para eliminar esos contenedores:

stop devuelve los contenedores.

Así que encadenar stop y rm hará el trabajo:

docker rm $(docker stop $(docker ps -a -q --filter ancestor=<image-name> --format="{{.ID}}"))

En Ubuntu 14.04 (Trusty Tahr), estoy buscando una manera de detener un contenedor en ejecución y la única información que tengo es el nombre de la imagen que se utilizó en el comando de ejecución de Docker.

¿Existe un comando para encontrar todos los contenedores en ejecución coincidentes que coincidan con el nombre de esa imagen y detenerlos?



En mi caso, --filter ancestor=<image-name> no funcionaba, por lo que el siguiente comando me limpió el contenedor Docker:

docker rm $(docker stop $(docker ps -a -q --filter "name=container_name_here" --format="{{.ID}}"))


Estaba tratando de ajustar mis comandos Docker en tareas de trago y me di cuenta de que puede hacer lo siguiente:

docker stop $(docker ps -a | grep "zalenium") docker rm $(docker ps -a | grep "zalenium")

Esto podría no funcionar para escenarios en los que tiene varios contenedores con el mismo nombre (si es posible), pero para mi caso de uso fue perfecto.


Este código detendrá todos los contenedores con los centos de imagen : 6 . No pude encontrar una solución más fácil para eso.

docker ps | grep centos:6 | awk ''{print $1}'' | xargs docker stop

O incluso más corto:

docker stop $(docker ps -a | grep centos:6 | awk ''{print $1}'')


Hice un /usr/local/bin/docker.stop que toma el nombre de la imagen (se supone que solo tiene uno en ejecución).

docker stop $(docker ps -q -f "name=$1")


Las respuestas anteriores no me funcionaron, pero esto sí:

docker stop $(docker ps -q --filter ancestor=<image-name> )


Para la versión 18.09.0 de Docker, descubrí que no se necesitará la marca de formato

docker rm $(docker stop $(docker ps -a -q -f ancestor=<image-name>))


Puede iniciar el contenedor configurando un nombre de contenedor:

docker run -d --name <container-name> <image-name>

La misma imagen podría usarse para girar varios contenedores, por lo que esta es una buena manera de iniciar un contenedor. Entonces podría usar este nombre de contenedor para detener, adjuntar ... el contenedor:

docker exec -it <container-name> bash docker stop <container-name> docker rm <container-name>


Puede usar el comando ps para ver los contenedores en ejecución:

docker ps -a

A partir de ahí, debe ver el nombre de su contenedor junto con la ID del contenedor que está buscando. Aquí hay más información sobre docker ps .


enumerar todos los contenedores con información e identificación

docker ps | grep <image-name> | awk ''{print $1}''


Detener el contenedor acoplable por nombre de imagen:

docker ps docker stop CONTAINER ID

Detenga el contenedor acoplable por nombre de imagen y etiqueta:

imagename=''mydockerimage'' docker stop $(docker ps | awk ''{split($2,image,":"); print $1, image[1]}'' | awk -v image=$imagename ''$2 == image {print $1}'')

Si creó la imagen, puede agregarle una label y filtrar los contenedores en ejecución por etiqueta

imagename=''mydockerimage:latest'' docker stop $(docker ps | awk -v image=$imagename ''$2 == image {print $1}'')

Métodos poco confiables

docker ps -q --filter "label=image=$image"

no siempre funciona

docker ps -a -q --filter ancestor=<image-name>

filtra por nombre de contenedor, no por nombre de imagen

docker ps -a -q --filter="name=<containerName>"

es problemático ya que el nombre de la imagen puede aparecer en otras columnas para otras imágenes


docker stop container-name docker rm container-name

Esto debería ser suficiente.