Docker, haciendo mantenimiento eliminando los recursos que no usamos

Published:

Es importante hacer mantenimiento de nuestra plataforma de contenedores Docker o cualquiera sea, para no caer en problemas de performance o incluso ocupar recursos innecesarios sobre todo si se usa alguna nube. Así que vamos a ver los comandos necesarios para hacer limpieza.

1- Eliminar imágenes contenedores docker

Vamos a revisar las imágenes descargadas:

docker images -a

Eliminamos imágenes por nombre o por su ID:

docker rmi NOMBRE_O_ID_DE_IMAGEN

Podemos encontrar imágenes pendientes, que podemos revisar con:

docker images -f dangling=true

Purgando imágenes que no están en uso

docker images purge

Ejemplo práctico para eliminar por un patrón concreto como httpd:

docker images -a | grep "httpd" | awk '{print $3}' | xargs docker rmi

Para eliminar todas las imágenes, cuidado esto elimina todo

docker rmi $(docker images -a -q)

2- Eliminar contenedores Docker

Para eliminar contenedores es simple

docker rm NOMBRE-o-ID

Para que se ejecute, inicie y cuando terminemos de usarlo y se elimine podemos usar –rm al generarlo:

docker run --rm debian

Eliminar todos los contenedores que están en modo exited:

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

Eliminar contenedores por patrón:

docker ps -a | grep "debian" | awk '{print $3}' | xargs docker rmi

Eliminar todos los contenedores. Deberemos pararlos antes:

docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)

3-Eliminar volumen de contenedores Docker

Para eliminar volúmenes, haríamos lo mismo que con los contenedores:

docker volume rm VOLUME-NOMBRE

Eliminar volúmenes en estado pendiente:

docker volume prune

Eliminar un volumen y su contenedor asociado:

docker rm -v ID-NOMBRE-CONTENEDOR

4- Para hacer una limpieza completa del sistema, de elementos que no se utilizan, da igual lo que sean, contenedores, imágenes, volúmenes o redes (incluso lo que esté en estado pendiente)

docker system prune

docker system prune -a
- Advertisement -
Jorge
Jorgehttps://nksistemas.com
Soy Jorge, Sr Sysadmin Linux/DevOps/SRE y creador de NKSistemas.com Trabajo con plataformas: Linux, Windows, AWS, GCP, VMware, Helm, kubernetes, Docker, etc.

Related articles