Docker es uno de los productos más populares en las organizaciones hoy en día. Facilita enormemente el proceso de administración de aplicaciones en contenedores. Docker proporciona portabilidad, rendimiento, agilidad, escalabilidad y aislamiento a las aplicaciones ya que utiliza contenedores. Los contenedores son más portátiles y requieren menos recursos que las máquinas virtuales. A medida que trabaja con Docker, tiende a acumular una cantidad excesiva de imágenes, volúmenes y contenedores sin usar. Estos recursos desordenarán la salida y consumirán mucho espacio en disco. En este tutorial, aprenderá cómo limpiar los recursos de Docker y organizar su servidor.
Purgar todo
Puede limpiar todos los recursos de Docker, incluidas las imágenes, los contenedores detenidos, los volúmenes y las redes con un solo comando. Puede elegir una de las siguientes opciones:
Referencia: Los recursos huérfanos son aquellos que no están relacionados con ningún contenedor en ejecución.
Opción 1:
|
1 |
docker system prune |
– todos los contenedores detenidos
– todas las redes no utilizadas por al menos un contenedor
– todas las imágenes huérfanas
– toda la caché de construcción huérfana
Opción 2:
|
1 |
docker system prune -a |
– todos los contenedores detenidos
– todas las redes no utilizadas por al menos un contenedor
– todas las imágenes sin al menos un contenedor asociado a ellas
– toda la caché de construcción
Opción 3:
|
1 |
docker system prune -a --volumes |
– todos los contenedores detenidos
– todas las redes no utilizadas por al menos un contenedor
– todos los volúmenes no utilizados por al menos un contenedor
– todas las imágenes sin al menos un contenedor asociado a ellas
– toda la caché de construcción

Eliminar imágenes de Docker
Para eliminar una imagen específica, necesita conocer su ID de imagen. Puede encontrar el ID de imagen de un contenedor de Docker utilizando el comando “docker images”, como se explica en nuestro tutorial sobre cómo instalar & operar Docker en Ubuntu.
Listar imágenes:
|
1 |
docker images |
Eliminar imagen:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
docker rmi <ID de la imagen> Ejemplo: docker rmi 1d622ef86b13 Salida: Untagged: ubuntu:latest Untagged: ubuntu@sha256:747d2dbbaaee995098c9792d99bd333c6783ce56150d1b11e333bbceed5c54d7 Deleted: sha256:1d622ef86b138c7e96d4f797bf5e4baca3249f030c575b9337638594f2b63f01 Deleted: sha256:279e836b58d9996b5715e82a97b024563f2b175e86a53176846684f0717661c3 Deleted: sha256:39865913f677c50ea236b68d81560d8fefe491661ce6e668fd331b4b680b1d47 Deleted: sha256:cac81188485e011e56459f1d9fc9936625a1b62cacdb4fcd3526e5f32e280387 Deleted: sha256:7789f1a3d4e9258fbe5469a8d657deb6aba168d86967063e9b80ac3e1154333f |
Eliminar imágenes huérfanas:
Cuando compila una imagen de Docker, generalmente tiene varias capas de imágenes. Las imágenes huérfanas (dangling) son las capas que no tienen ninguna relación con ninguna imagen etiquetada. Las imágenes huérfanas consumen espacio en disco pero no sirven para nada. Se pueden listar usando el comando:
|
1 |
docker images -f dangling=true |
Puede eliminar estas imágenes ejecutando el siguiente comando:
|
1 |
docker image prune |
Eliminar imágenes basadas en un patrón
Puede encontrar fácilmente imágenes basadas en un patrón particular utilizando el comando “grep” y luego eliminarlas pasándolo al comando “docker rmi” usando “awk”. Puede usar los siguientes comandos y reemplazar el “patrón” en cada uno de ellos:
Listar:
|
1 |
docker images -a | grep "pattern" |
Eliminar:
|
1 |
docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi |
Eliminar todas las imágenes
Puedes listar todas las imágenes de docker usando el comando:
|
1 |
docker images -a |
Once you’ve decided to remove them all, you can use this command to delete them all:
|
1 |
docker images -a -q | xargs docker rmi |
Eliminar contenedores:
Ahora que has limpiado todas las imágenes innecesarias, es hora de eliminar algunos de los contenedores que no son necesarios.
Para listar los contenedores, puedes usar el comando:
|
1 |
docker ps -a |
Para eliminar los contenedores, usa el comando:
|
1 |
docker rm <<Contenedor Nombre/Contenedor ID>> |
Ejecutar contenedores temporalmente
Si deseas ejecutar el contenedor solo una vez, puedes elegir eliminar el contenedor automáticamente una vez que finalice. Puedes hacerlo usando el comando:
|
1 |
docker run --rm <<NombreImagen>> |
Eliminar contenedores finalizados
Puedes filtrar los contenedores finalizados usando el argumento “-f”. Lista los contenedores finalizados usando el comando:
|
1 |
docker ps -a -f status=exited |
Ahora que los has filtrado, elimínalos usando este comando:
|
1 |
docker rm $(docker ps -a -f status=exited -q) |
Eliminar contenedores basados en un patrón
Puedes encontrar fácilmente contenedores basados en un patrón particular usando el comando “grep” y luego eliminarlos pasándolo al comando “docker rm” usando “awk”. Puedes usar los siguientes comandos y reemplazar el “patrón” en cada uno de ellos.
Lista:
|
1 |
docker ps -a | grep "pattern" |
Eliminar:
|
1 |
docker ps -a | grep "pattern" | awk '{print $1}' | xargs docker rm |
Detener y eliminar todos los contenedores
Antes de hacerlo, revisa todos los contenedores en tu servidor listándolos. Solo una vez que estés seguro de que deseas eliminarlos, ejecuta los siguientes comandos:
Lista los contenedores para revisar:
|
1 |
docker ps -a |
Detener y eliminar:
|
1 2 |
docker stop $(docker ps -a -q) docker rm $(docker ps -a -q) |
Eliminar volúmenes
Eliminar un volumen específico
Para eliminar un volumen específico, necesitas saber el nombre del volumen. Para averiguarlo, puedes listar los volúmenes.
Lista:
|
1 |
docker volume ls |
Eliminar:
|
1 |
docker volume rm <<NombreVolumen>> |
Eliminar volúmenes huérfanos
Cuando eliminas un contenedor, el volumen asociado a él no se elimina automáticamente. Dicho volumen se denomina volumen huérfano. Para localizar estos volúmenes, utiliza el argumento de filtro en el comando:
|
1 |
docker volume ls -f dangling=true |
Para eliminar todos estos volúmenes huérfanos, usa el comando:
|
1 |
docker volume prune |
Eliminar un contenedor y su volumen sin nombre
Si creaste un volumen anónimo o sin nombre al ejecutar el contenedor, puedes eliminarlo junto con el contenedor usando un solo comando. Sin embargo, si el volumen tiene nombre, solo se eliminará el contenedor.
|
1 |
docker rm -v <<NombreContenedor>> |
Ahora que tienes esta hoja de trucos, deberías estar listo para limpiar los recursos de Docker que no sean necesarios en tu servidor.
¡Feliz computación!


Comentarios
Aún no hay comentarios. Sea el primero.