Detener y eliminar todos los contenedores acoplables

Resuelto jjbskir asked hace 7 años • 15 respuestas

¿Cómo puedo detener y eliminar todos los contenedores Docker para hacer borrón y cuenta nueva con mis contenedores Docker? Muchas veces siento que es más fácil empezar desde cero, pero tengo un montón de contenedores cuyos estados no estoy seguro, y cuando los ejecuto docker rmno me deja porque el contenedor acoplable podría estar todavía en uso.

jjbskir avatar Jul 28 '17 00:07 jjbskir
Aceptado

Detener todos los contenedores

docker stop $(docker ps -a -q)

Retire todos los contenedores.

docker rm $(docker ps -a -q)

Encuentra más comandos aquí

John Kuriakose avatar Jul 13 '2018 00:07 John Kuriakose

Docker introdujo nuevos espacios de nombres y comandos que todos deberían finalmente aprender y no apegarse a los viejos hábitos. Aquí está la documentación y aquí hay algunos ejemplos:

Eliminación de contenedores que ya no son necesarios (detenido)

docker container prune

Eliminar imágenes que ya no son necesarias

lo que significa que solo elimina imágenes que no están etiquetadas y no están señaladas por "más reciente", por lo que no se eliminan imágenes reales que puedas usar regularmente.

docker image prune

Eliminar todos los volúmenes que no sean utilizados por ningún contenedor existente

(Incluso los contenedores detenidos reclaman volúmenes). Esto generalmente limpia los volúmenes anónimos de contenedores que se han eliminado hace mucho tiempo. Nunca debe eliminar volúmenes con nombre, ya que los contenedores de ellos deberían existir o estar ejecutándose. Tenga cuidado, asegúrese de que su pila al menos esté ejecutándose antes de continuar con esta.

docker volume prune

Lo mismo para redes no utilizadas

docker network prune

Y finalmente, si desea deshacerse de toda la basura, para asegurarse de que no le pase nada a su producción, asegúrese de que todas las pilas estén ejecutándose y luego ejecútelas.

docker system prune
Eugen Mayer avatar Jul 27 '2017 19:07 Eugen Mayer
docker ps -aq | xargs docker stop | xargs docker rm

o

docker ps -aq | xargs docker rm -f

docker ps -aq

  1. docker ps -ao docker ps --alldevuelve todos los contenedores y no solo los contenedores en ejecución
  2. docker ps -qo docker ps --quietdevuelve identificadores de contenedor

docker rm -fo docker rm --forceelimina también los contenedores en ejecución

Andriy Tolstoy avatar Feb 07 '2018 14:02 Andriy Tolstoy