Cómo eliminar contenedores Docker antiguos


Esta pregunta está relacionada con ¿Debería preocuparme por el exceso de contenedores Docker que no funcionan?.

Me pregunto cómo eliminar los contenedores viejos. El docker rm 3e552code34a te permite eliminar uno solo, pero ya tengo muchos. docker rm --help no da una opción de selección (como todos, o por el nombre de la imagen).

Tal vez hay un directorio en el que se almacenan estos contenedores donde puedo eliminarlos fácilmente de forma manual?

 1016
Author: Community, 2013-06-21

30 answers

Hay una nueva característica en Docker 1.13.x llamado Contenedor Docker prune: docker container prune

Esto hará lo que quieras y debería funcionar en todas las plataformas de la misma manera.

También hay una poda del sistema Docker : docker system prune, que limpiará contenedores, imágenes, volúmenes y redes, todo en un solo comando.

Respuesta original:

Se ha hablado de un comando de limpieza de Docker. Puedes encontrar la información en esta entrada: Implementar un comando' clean' (#928)

Hasta que ese comando esté disponible, puede encadenar comandos de Docker junto con otros comandos de Unix para obtener lo que necesita. Aquí hay un ejemplo sobre cómo limpiar contenedores viejos que tienen semanas de antigüedad:

$ docker ps --filter "status=exited" | grep 'weeks ago' | awk '{print $1}' | xargs --no-run-if-empty docker rm

Para dar crédito, donde se debe, este ejemplo es de https://twitter.com/jpetazzo/status/347431091415703552 .

 1141
Author: Ken Cochrane,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-31 13:17:05

Otro método, que obtuve de Guillaume J. Charmes (crédito donde se debe):

docker rm `docker ps --no-trunc -aq`

Eliminará todos los contenedores de una manera elegante.

Y por Bartosz Bilicki, para Windows:

FOR /f "tokens=*" %i IN ('docker ps -a -q') DO docker rm %i

Para PowerShell:

docker rm @(docker ps -aq)

Una actualización con Docker 1.13 (Q4 2016), crédito a VonC (más adelante en este hilo):

docker system prune eliminará TODOS los datos no utilizados (es decir, en orden: contenedores detenidos, volúmenes sin contenedores e imágenes sin contenedor).

Vea PR 26108y commit 86de7c0, que están introduciendo algunos comandos nuevos para ayudar a facilitar la visualización de cuánto espacio están ocupando los datos del demonio Docker en el disco y permitiendo limpiar fácilmente el exceso "innecesario".

docker system prune

WARNING! This will remove:
    - all stopped containers
    - all volumes not used by at least one container
    - all images without at least one container associated to them
Are you sure you want to continue? [y/N] y
 589
Author: qkrijger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:10:54

Respuesta Actualizada Utilice docker system prune o docker container prune ahora. Véase La respuesta actualizada de VonC.

Respuesta Anterior Componiendo varias sugerencias diferentes arriba, la forma más elegante de eliminar todos los contenedores que no funcionan parece ser:

docker rm $(docker ps -q -f status=exited)

  • -q imprime solo los id de contenedor (sin encabezados de columna)
  • -f le permite filtrar su lista de contenedores impresos (en este caso estamos filtrando para mostrar solo los contenedores salidos)
 390
Author: Ryan Walls,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-23 17:32:57

La forma oficial es:

docker rm `docker ps -aq`

Los mantenedores de Docker han indicado que no habrá ningún comando para esto-y usted compone los comandos así:

Hemos discutido esto antes y preferimos que los usuarios usen la línea anterior sin tener que agregar código adicional a Docker.

 242
Author: Michael Neale,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-10 03:11:32

Con Docker 1.13 (Q4 2016), ahora tiene:

docker system prune -a eliminará TODOS los datos no utilizados (es decir, en orden: contenedores detenidos, volúmenes sin contenedores e imágenes sin contenedores).

docker system prune sin - a eliminará (para imágenes) solo imágenes colgantes, o imágenes sin etiqueta, como comentó por smilebomb.

Ver PR 26108 y commit 86de7c0 , que están introduciendo algunos comandos nuevos para ayudar a facilitar visualizando cuánto espacio ocupan los datos del demonio Docker en el disco y permitiendo limpiar fácilmente el exceso "innecesario".

docker system prune -a

WARNING! This will remove:
    - all stopped containers
    - all volumes not used by at least one container
    - all images without at least one container associated to them
Are you sure you want to continue? [y/N] y

Como wjv comenta,

También existe docker {container,image,volume,network} prune, que se puede usar para eliminar instancias no utilizadas de solo un tipo de objeto.

Introducido en commit 913e5cb, solo para Docker 1.13+.

docker container prune
 110
Author: VonC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-20 15:04:17

Ahora es posible utilizar filtrado con docker ps:

docker rm $(docker ps -q -f status=exited)

Y para imágenes :

docker rmi $(docker images -q -f "dangling=true")

Sin embargo, cualquiera de ellos causará que docker rm o docker rmi lance un error cuando no haya contenedores coincidentes. El viejo truco docker rm $(docker ps -aq) era aún peor, ya que trataba de eliminar cualquier contenedor en ejecución, fallando en cada uno.

Aquí hay un script más limpio para agregar en su ~/.bashrc o ~/.profile:

# Use `docker-cleanup --dry-run` to see what would be deleted.

function docker-cleanup {
  EXITED=$(docker ps -q -f status=exited)
  DANGLING=$(docker images -q -f "dangling=true")

  if [ "$1" == "--dry-run" ]; then
    echo "==> Would stop containers:"
    echo $EXITED
    echo "==> And images:"
    echo $DANGLING
  else
    if [ -n "$EXITED" ]; then
      docker rm $EXITED
    else
      echo "No containers to remove."
    fi
    if [ -n "$DANGLING" ]; then
      docker rmi $DANGLING
    else
      echo "No images to remove."
    fi
  fi
}

Editar: Como se indica a continuación, la respuesta original fue para eliminar imágenes, no contenedores. Actualizado para responder a ambos, incluyendo nuevos enlaces a la documentación. Gracias a Adrian (y la respuesta de Ryan) por mencionar el nuevo filtro ps.

 100
Author: caktux,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-08 05:37:59

ACTUALIZADO 2017 (MÁS RECIENTE)

docker container prune

Esto - 2017 (OLD) way

To remove ALL STOPPED CONTAINERS

docker rm $(docker ps -a -q)

Para eliminar TODOS LOS CONTENEDORES (PARADO Y NO PARADO)

docker rm  -f $(docker ps -a -q)
 89
Author: levi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-11 19:46:24

Retire todos los contenedores detenidos:

docker rm $(docker ps -a | grep Exited | awk '{print $1}')

Del comentario de pauk960 :

Desde la versión 1.3.0 puede usar filtros con docker ps, en lugar de grep Exited use docker ps -a -f status=exited. Y si usa -q con él, puede obtener ID de contenedor solo en lugar de la salida completa, no es necesario usar awk para eso.

 47
Author: montells,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:03:09

Si no desea eliminar todos los contenedores, puede seleccionar todos los contenedores creados antes o después de un contenedor específico con docker ps --before <container-ID> o con docker ps --since <container-ID>. Esta característica se encuentra al menos en Docker versión 0.6.5.

Digamos que ha desarrollado su sistema, y ahora está funcionando, pero hay una serie de contenedores restantes. Desea eliminar contenedores creados antes de esa versión de trabajo. Determine el ID del contenedor de trabajo con docker ps.

Eliminar contenedores creados antes de un otro contenedor

docker rm $(docker ps --before 9c49c11c8d21 -q)

Otro ejemplo. Ya tiene su base de datos ejecutándose en un contenedor Docker. Ha desarrollado su aplicación para ejecutarse en otro contenedor y ahora tiene una serie de contenedores innecesarios.

Eliminar contenedores creados después de un determinado contenedor

docker rm $(docker ps --since a6ca4661ec7f -q)

Docker almacena contenedores en /var/lib/docker/containers en Ubuntu. Creo que los contenedores adicionales no hacen ningún otro daño, pero ocupan espacio en disco.

 31
Author: vesako,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-23 17:19:17

Actualización: A partir de la versión 1.13 de Docker (publicada en enero de 2017), puede emitir el siguiente comando para limpiar los contenedores detenidos, los volúmenes no utilizados, las imágenes colgantes y las redes no utilizadas:

docker system prune

Si desea asegurarse de que solo está eliminando contenedores que tienen un estado exited, use esto:

docker ps -aq -f status=exited | xargs docker rm

Del mismo modo, si estás limpiando cosas de docker, puedes deshacerte de imágenes sin etiquetar y sin nombre de esta manera:

docker images -q --no-trunc -f dangling=true | xargs docker rmi
 29
Author: L0j1k,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-22 10:35:26

Aquí está mi script docker-cleanup, que elimina contenedores e imágenes sin etiquetar. Por favor, compruebe la fuente para cualquier actualización.

#!/bin/sh
# Cleanup docker files: untagged containers and images.
#
# Use `docker-cleanup -n` for a dry run to see what would be deleted.

untagged_containers() {
  # Print containers using untagged images: $1 is used with awk's print: 0=line, 1=column 1.
  docker ps -a | awk '$2 ~ "[0-9a-f]{12}" {print $'$1'}'
}

untagged_images() {
  # Print untagged images: $1 is used with awk's print: 0=line, 3=column 3.
  # NOTE: intermediate images (via -a) seem to only cause
  # "Error: Conflict, foobarid wasn't deleted" messages.
  # Might be useful sometimes when Docker messed things up?!
  # docker images -a | awk '$1 == "<none>" {print $'$1'}'
  docker images | tail -n +2 | awk '$1 == "<none>" {print $'$1'}'
}

# Dry-run.
if [ "$1" = "-n" ]; then
  echo "=== Containers with uncommitted images: ==="
  untagged_containers 0
  echo

  echo "=== Uncommitted images: ==="
  untagged_images 0

  exit
fi

# Remove containers with untagged images.
echo "Removing containers:" >&2
untagged_containers 1 | xargs --no-run-if-empty docker rm --volumes=true

# Remove untagged images
echo "Removing images:" >&2
untagged_images 3 | xargs --no-run-if-empty docker rmi

Fuente: https://github.com/blueyed/dotfiles/blob/master/usr/bin/docker-cleanup

 19
Author: blueyed,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-23 17:21:59

Eliminando todos los contenedores del shell de Windows:

FOR /f "tokens=*" %i IN ('docker ps -a -q') DO docker rm %i
 10
Author: Bartosz Bilicki,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-13 11:45:10

Primero, deje de ejecutar contenedores antes de intentar eliminarlos

Eliminar los contenedores en ejecución

docker rm $(docker stop -t=1 $(docker ps -q))

Podrías usar kill en lugar de stop. En mi caso prefiero stop ya que tienden a volver a ejecutar ellos frente crear uno nuevo cada vez que lo intento cerrarlas bien.

Nota: Intentar detener un contenedor le dará un error:

Error: Imposible eliminar un contenedor en ejecución, deténgalo primero

Eliminar todo contenedores

docker rm $(docker ps -a -q)
 10
Author: Ulises,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-23 17:18:01

Https://github.com/HardySimpson/docker-cleanup

Limpieza de Docker

Un pequeño shell todo en uno, que elimina:

  • Contenedores que no funcionan hace más de un día
  • Imágenes que no pertenecen a ningún contenedor restante

Tiene la intención de ejecutarse como un trabajo de crontab

Característica

  • Eliminará todas las <none>:<none> imágenes
  • Si la imagen tiene varias referencias repo: tag, eliminará todas las etiquetas repo:excepto con el funcionamiento de un contenedor. En realidad es una naturaleza de "docker rmi".
  • Se mostrarán muchos mensajes de error en la pantalla, y puede decidir 2>/dev/null o no
  • Aprender algo de docker-gc, y solucionar su problema (no se puede eliminar la imagen que tiene mutliple repo:etiqueta)
 7
Author: HardySimpson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-03 19:50:40

Uso:

docker rm -f $(docker ps -a -q)

Detiene y elimina forzosamente todos los contenedores presentes localmente.

 7
Author: Shashank G,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-10 03:55:44

Por lo tanto, personalmente recomiendo hacer esto como parte de su script de implementación para imágenes y contenedores, manteniendo solo los contenedores e imágenes n más recientes. Etiqueto mis imágenes de Docker con el mismo esquema de versionado que utilizo con git tag, así como siempre etiquetando la última imagen de Docker con "latest."Esto significa que sin limpiar nada, mis imágenes de Docker terminan pareciendo como:

REPOSITORY              TAG       IMAGE ID        CREATED         VIRTUAL SIZE
some_repo/some_image    0.0.5     8f1a7c7ba93c    23 hours ago    925.4 MB
some_repo/some_image    latest    8f1a7c7ba93c    23 hours ago    925.4 MB
some_repo/some_image    0.0.4     0beabfa514ea    45 hours ago    925.4 MB
some_repo/some_image    0.0.3     54302cd10bf2    6 days ago      978.5 MB
some_repo/some_image    0.0.2     0078b30f3d9a    7 days ago      978.5 MB
some_repo/some_image    0.0.1     sdfgdf0f3d9a    8 days ago      938.5 MB

Ahora, por supuesto, no quiero mantener todas mis imágenes (o contenedores) volviendo a perpetuidad en todas mis cajas de producción. Solo quiero los últimos 3 o 4 para reversiones y deshacerme de todo lo demás. Unix tail es tu mejor amigo aquí. Dado que docker images y docker ps ambos ordenan por fecha, podemos usar tail para seleccionar todos menos los tres primeros y eliminarlos:

docker rmi $(docker images -q | tail -n +4)

Ejecute eso junto con sus scripts de implementación (o localmente) para mantener siempre las imágenes suficientes para retroceder cómodamente sin ocupar demasiado espacio o saturar cosas con imágenes antiguas.

Personalmente, solo tengo una contenedor en mi caja de producción en cualquier momento, pero puede hacer lo mismo con los contenedores si desea más:

docker rm $(docker ps -aq | tail -n +4)

Finalmente, en mi ejemplo simplificado solo estamos tratando con un repositorio a la vez, pero si tuvieras más, puedes ser un poco más sofisticado con la misma idea. Digamos que solo quiero mantener las últimas tres imágenes de some_repo / some_image. Puedo mezclar grep y awk y seguir mi camino:

docker rmi $(docker images -a | grep 'some_repo/some_image' | awk '{print $3}' | tail -n +4)

De nuevo, la misma idea se aplica a los contenedores, pero usted lo consigue por este punto así que voy a dejar de dar ejemplos.

 6
Author: Eli,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-23 17:25:13

Retire todos los contenedores detenidos.

Sudo docker rm rm (sudo docker ps-a-q)

Esto eliminará todos los contenedores detenidos obteniendo una lista de todos los contenedores con docker ps-a-q y pasando sus ID a docker rm. Esto no debe eliminar ningún contenedor en ejecución, y le dirá que no puede eliminar una imagen en ejecución.

Eliminar todas las imágenes sin etiquetar

Ahora desea limpiar las imágenes antiguas para ahorrar algo de espacio.

Sudo docker rmi {(sudo docker images-q filter filter "dangling=true")

 5
Author: Ric_Harvey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-05 12:25:08

Eliminar 5 contenedores más antiguos:

docker rm `docker ps -aq | tail -n 5`

Vea cuántos contenedores quedan:

docker ps -aq | wc -l
 4
Author: Pithikos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-08 09:32:48

Nuevo camino: spotify / docker-gc juega el truco.

 docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v /etc:/etc spotify/docker-gc
  • Los contenedores que salieron hace más de una hora se eliminan.
  • Las imágenes que no pertenecen a ningún contenedor restante después de eso se eliminan

Ha soportado ajustes ambientales

Forzar la eliminación de imágenes que tienen múltiples etiquetas

 FORCE_IMAGE_REMOVAL=1

Forzar la supresión de contenedores

 FORCE_CONTAINER_REMOVAL=1 

Excluidos Los Contenedores Recién Salidos y Imágenes De La Recolección de Basura

 GRACE_PERIOD_SECONDS=86400

Esta configuración también evita la eliminación de imágenes que se han creado antes de GRACE_PERIOD_SECONDS seconds.

Dry run

 DRY_RUN=1

Limpieza de volúmenes de contenedores huérfanos CLEAN_UP_VOLUMES = 1

Referencia: docker-gc

Forma antigua de hacer:

Delete old, non-running containers

 docker ps -a -q -f status=exited | xargs --no-run-if-empty docker rm
             OR 
 docker rm $(docker ps -a -q)

Eliminar todas las imágenes asociadas con contenedores docker que no funcionan

 docker images -q | xargs --no-run-if-empty docker rmi

Limpieza de volúmenes de docker huérfanos para docker versión 1.10.x y superiores

 docker volume ls -qf dangling=true | xargs -r docker volume rm

Basado en el período

 docker ps -a | grep "weeks ago" | awk "{print $1}" | xargs --no-run-if-empty docker rm
 docker ps -a | grep "days ago" | awk "{print $1}" | xargs --no-run-if-empty docker rm
 docker ps -a | grep "hours ago" | awk "{print $1}" | xargs --no-run-if-empty docker rm
 4
Author: f-society,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-20 10:51:15
  1. Elimine todos los procesos de docker:

    docker rm $(docker ps -a -q)
    
  2. Retire el contenedor específico:

    $ docker ps -a (lists all old containers)
    
    $ docker rm container-Id
    
 4
Author: padakpadak,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-10 03:08:40

Puede usar el siguiente comando para eliminar los contenedores salidos:

docker rm $(sudo docker ps -a | grep Exit | cut -d ' ' -f 1)

Aquí está la lista completa para eliminar también las imágenes antiguas en docker: Lista para eliminar los contenedores e imágenes antiguos de Docker.

 4
Author: urodoz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-10 03:13:30

Los pasos básicos para detener/eliminar todos los contenedores e imágenes

  1. Lista todos los contenedores

    docker ps -aq

  2. Detener todos los contenedores en ejecución

    docker stop $(docker ps -aq)

  3. Retire todos los contenedores

    docker rm $(docker ps -aq)

  4. Eliminar todas las imágenes

    docker rmi $(docker images -q)

Nota: Primero debe detener todos los contenedores en ejecución antes de eliminarlos. También antes de quitar una imagen, usted tiene que parar y quitar su contenedor(s) dependiente (s).

 4
Author: Murali Manchadikkal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-23 17:46:58
#!/bin/bash
# docker-gc --- Remove stopped docker containers

RUNNING=$(docker ps -q)
ALL=$(docker ps -a -q)

for container in $ALL ; do
    [[ "$RUNNING" =~ "$container" ]] && continue
    echo Removing container: $(docker rm $container)
done
 3
Author: mckoss,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-25 23:53:22

Siempre uso docker rmi $(docker ps -a -q) para eliminar todas las imágenes.

Puede eliminar el directorio /var/lib/docker/graph cuando docker rmi falló.

 3
Author: sunny,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-10 03:07:41

Solo se pueden eliminar los contenedores detenidos. Detener todos ellos en el principio

docker stop $(docker ps -a -q)

Entonces puedes eliminar

docker rm $(docker ps -a -q)

 3
Author: Marcin Szymczak,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-24 19:11:09

Pruebe este comando para limpiar contenedores e imágenes colgantes.

docker system prune -f
 3
Author: Pal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-08 21:58:23

Para retirar TODOS los recipientes sin llorar:

sudo docker ps -a | grep -v CONTAINER | awk '{print $1}' | xargs --no-run-if-empty sudo docker rm -f
 2
Author: Felipe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-06 03:11:43

Para cualquier persona interesada, tomé el ejemplo de qkrijger y lo convertí en un claro todo (detener y eliminar todo)

docker stop `docker ps --no-trunc -aq` ; docker rm `docker ps --no-trunc -aq`
 2
Author: Kraig McConaghy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-09 06:13:56
docker rm --force `docker ps -qa`
 2
Author: Sivalingam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-24 20:57:55

Eliminar todos los contenedores creados a partir de una determinada imagen:

docker rm  $(docker ps -a | awk '/myimage:mytag/{print $1}')
 2
Author: estani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-10 03:09:41