Configuré docker en mi servidor. Yo uso Jenkins para CI. Esas herramientas son realmente geniales. Pero, desafortunadamente, todavía no puedo descubrir cómo recuperar el espacio desperdiciado.
Probé diferentes cosas propuestas en la web y al usarlas solo puedo liberar una parte del espacio desperdiciado. No necesito ninguna historia y etc.
Probé diferentes cosas, como rude docker rm $(docker ps -aq) y docker rmi $(docker images -q) mientras se ejecutan algunos contenedores que evitan que se eliminen.
También probé este script y similares.
#!/bin/bash # remove exited containers: docker ps --filter status=dead --filter status=exited -aq | xargs -r docker rm -v # remove unused images: docker images --no-trunc | grep '<none>' | awk '{ print $3 }' | xargs -r docker rmi # remove unused volumes: find '/var/lib/docker/volumes/' -mindepth 1 -maxdepth 1 -type d | grep -vFf <( docker ps -aq | xargs docker inspect | jq -r '.[] | .Mounts | .[] | .Name | select(.)' ) | xargs -r rm -frMe gustaría esperar que después de la primera compilación de todas las imágenes, haya fijado el tamaño de las cosas aplicando los comandos de limpieza anteriores. En otras palabras, quiero que las compilaciones posteriores con la limpieza aplicada no hagan crecer el espacio desperdiciado.
Pero de todos modos, cada ejecución de la construcción de la ventana acoplable ocupa un nuevo espacio que no puedo liberar.
El directorio /var/lib/docker/overlay crece y finalmente no considera mis limpiezas.
¿Dónde estoy equivocado?
En las últimas versiones de Docker, ahora puede usar el comando de eliminación del docker system prune (con la opción --all para una limpieza completa).
https://docs.docker.com/engine/reference/commandline/system_prune/
Para eliminar volúmenes use:
docker volume prunePara eliminar el uso de redes:
docker network prunePara eliminar todos los contenedores detenidos, utilice:
docker container prunePara eliminar las imágenes no utilizadas, utilice:
docker image prune