Docker es una fantástica herramienta que nos permite correr aplicaciones de forma segura y escalable. Sin embargo, a medida lo vamos utilizando, es fácil ir acumulando un gran número de imágenes, contenedores y vólumenes que consumen recursos y espacio.

Por eso, en esta guía vamos a ver cómo mantener el entorno limpio y organizado.

Eliminar todo lo no usado

Por si lo tenemos todo hecho un desastre, hay un comando de Docker que sirve para limpiar imágenes, contenedores, volúmenes y dispositivos de red, que no estén asociadas a ningún contenedor.
docker system prune
Si le añadimos el flag -a al final, borraremos también: (1) todos los contenedores parados y (2) todas las imágenes que no se están usando en ese momento.
docker system prune -a

Borrar imágenes de Docker

Borrar imágenes

Para ver las imágenes que tenemos en el sistema, podemos usar el comando:

docker images -a

Gracias al flag -a veremos todas las imágenes de Docker, incuidas las imágenes intermedias.

Una vez localizada la imagen que queremos borrar, utilizaremos su ID para borrarla:

docker rmi <id_image1> <id_image2> <id_image 3>

Borrar imágenes “colgadas” (dangling images)

Las imágenes colgadas son las capas de imágenes que no se están utilizando en ningún contenedor, tanto que esté funcionando, como que esté parado. Estas imágenes pueden ser borradas en la gran mayoría de las veces. Podemos ver estás imágenes con el comando:

docker images -f dangling=true

Y las podemos borrar con:

docker images purge

Borrar todas las imágenes

Si queremos borrar todas las imágenes, podemos ejecutar:

docker rmi $(docker images -a -q)

Borrar contenedores Docker

Borrar contenedores

Primero debemos localizar los contenedores que queremos borrar, para ello ejecutaremos el comando:

docker ps -a

Y para borrarlos:

docker rm <id_contenedor1> <id_contenedor2> <id_contenedor3>

Si no quieres que un contenedor se quede ahí una vez parado, puedes lanzar el proceso con el flag –rm:

docker run --rm <resto_de_opciones>

Borrar contenedores mediante filtros

Podemos usar filtros para seleccionar contenedores, por ejemplo:

docker ps -a -f status=exited -f status=created

Y de combinándolos con los comandos anteriores, nos sirve para borrarlos:

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

Parar y borrar todos los contenedores Docker

Tmabién podemos parar y borrar todos los contenedores con un solo comando:

docker rm $(docker ps -a -q)

Borrando volúmenes de Docker

Borrar volúmenes

Para ver los volúmenes que tenemos en el sistema, podemos usar el comando:

docker volume ls

Cuando localizamos el volumen, lo podemos borrar con:

docker volume rm <nombre_volumen1> <nombre_volumen2> <nombre_volumen3>

Borrar volúmenes colgados (dangling volumes)

Los volúmenes colgados son aquellos que no están conectados con ningún contenedor. Ojo, ten en cuenta que es posible que haya volúmenes en ese estado y que no tengan que ser borrados.

Para verlos utilizaremos:

docker volume ls -f dangling=true

Localizaremos los que queremos borrar y lo haremos con el mismo comando del punto anterior:

docker volume rm <nombre_volumen1> <nombre_volumen2> <nombre_volumen3>

Si queremos borrar todos los dangling volumes, ejecutaremos:

docker volume prune

Publicidad

Artículos Relacionados