Cómo limpiar el espacio ocupado por Docker
Desarrollo

Cómo limpiar el espacio ocupado por Docker

15 Apr, 2023 • 6 min de lectura

Si has estado usando Docker durante un tiempo, es posible que hayas acumulado muchos contenedores, imágenes y otros archivos que ya no necesitas. Esto puede ocupar mucho espacio en tu disco duro. Afortunadamente, Docker incluye algunas herramientas que te permiten limpiar fácilmente los archivos que ya no necesitas.

Para averiguar el espacio utilizado en disco por los diferentes elementos de Docker, puedes usar el comando 'docker system df':

$docker system df</p>
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 36 5 10.4GB 7.986GB (76%)
Containers 5 0 193.8MB 193.8MB (100%)
Local Volumes 25 2 1.487GB 1.128GB (75%)
Build Cache 60 0 44.3kB 44.3kB

Primero, puedes eliminar los contenedores que ya no están en uso. Puedes hacerlo con el comando docker container prune. Este comando eliminará todos los contenedores que no se están ejecutando actualmente.

Si también quieres eliminar las imágenes que ya no necesitas, puedes usar el comando docker image prune. Esto eliminará todas las imágenes que no están siendo utilizadas actualmente por ningún contenedor.

También puedes liberar espacio eliminando los archivos de registro antiguos. Docker almacena los registros en la carpeta /var/lib/docker/containers/. Puedes eliminar los archivos de registro antiguos con el comando find /var/lib/docker/containers/ -type f -name "\*.log" -delete.

Por último, si necesitas liberar aún más espacio, puedes eliminar todas las imágenes y contenedores que tienes. Puedes hacerlo con los siguientes comandos:

docker rm $(docker ps -a -q) 
docker rmi $(docker images -q)

</p>

Para limpiar la memoria de Docker, puedes seguir los siguientes pasos:

Eliminar todos los contenedores detenidos:

docker container prune

</p>

Eliminar todas las imágenes no utilizadas:

docker image prune

</p>

Eliminar todas las redes no utilizadas:

docker network prune

</p>

Eliminar todos los volúmenes no utilizados:

docker volume prune

</p>

También puedes combinar todos los comandos anteriores en un solo comando:

docker system prune

</p>

Este comando eliminará todos los contenedores detenidos, imágenes, redes y volúmenes no utilizados. Ten en cuenta que este comando también eliminará todas las imágenes colgantes (es decir, imágenes que no tienen contenedor o etiqueta asociada).

En el caso de limpiar con 'docker system prune' y estar usando sail de Laravel, es conveniente borrar los volúmenes si se están modificando puertos del mysql, ya que limpia también esta configuración:

$ sail down -v


Limpieza poco agresiva de recursos de builder

Elimina solo el build cache no utilizado

Mantiene capas que podrían reutilizarse Relativamente seguro

docker builder prune

</p>

Comando para averiguar la ubicación de los ficheros docker en el disco

Para averiguar la ubicación de los archivos de Docker en el disco, puedes utilizar el siguiente comando:

docker info --format '{{.DockerRootDir}}'

</p>

Este comando imprimirá la ruta del directorio raíz de Docker en tu sistema. El directorio raíz de Docker es donde se almacenan los archivos relacionados con Docker, incluyendo imágenes, contenedores, volúmenes y otros componentes.

Al ejecutar el comando, obtendrás la ubicación exacta del directorio raíz de Docker en tu sistema, como por ejemplo: /var/lib/docker en sistemas Linux o C:\ProgramData\Docker en sistemas Windows.

Recuerda que este comando debe ejecutarse en la línea de comandos o terminal, y debes tener Docker instalado y funcionando correctamente en tu sistema para obtener la ubicación correcta.

Como cambiar la ubicación de los ficheros Docker

Para cambiar la ubicación del directorio raíz de Docker, necesitarás seguir algunos pasos dependiendo del sistema operativo que estés utilizando:

En sistemas Linux:

  1. Detén el servicio de Docker:
   sudo service docker stop

</p>

  1. Mueve el directorio raíz de Docker a la nueva ubicación deseada. Por ejemplo, si deseas cambiarlo a /ruta/nueva:
   sudo mv /var/lib/docker /ruta/nueva

</p>

  1. Crea un enlace simbólico desde la nueva ubicación hacia la ubicación anterior:
   sudo ln -s /ruta/nueva /var/lib/docker

</p>

  1. Reinicia el servicio de Docker:
   sudo service docker start</p>

En sistemas Linux segunda opción:

Mis disculpas por la información incorrecta anterior. En Linux, puedes configurar la nueva ubicación del directorio raíz de Docker utilizando el archivo de configuración del demonio de Docker. Sigue los siguientes pasos:

  1. Detén el servicio de Docker:
   sudo service docker stop

</p>

  1. Edita el archivo de configuración del demonio de Docker:
   sudo nano /etc/docker/daemon.json

</p>

  1. Agrega la siguiente línea al archivo de configuración, reemplazando /ruta/nueva con la ubicación deseada:
   {</p>
     "data-root": "/ruta/nueva"
   }
  1. Guarda y cierra el archivo de configuración (en nano, presiona Ctrl + X, luego Y y Enter).
  2. Inicia el servicio de Docker:
   sudo service docker start

</p>

Después de realizar estos pasos, Docker utilizará la nueva ubicación especificada como el directorio raíz para almacenar los archivos relacionados. Asegúrate de tener suficiente espacio en disco en la nueva ubicación y de que los permisos de acceso sean correctos.

Recuerda que estos pasos son para sistemas Linux. Si estás utilizando otro sistema operativo, como Windows o macOS, los pasos pueden ser diferentes.

En sistemas Windows:

  1. Detén el servicio de Docker. Puedes hacerlo a través del Panel de control o utilizando el siguiente comando en PowerShell con privilegios de administrador:
   Stop-Service Docker

</p>

  1. Mueve el directorio raíz de Docker a la nueva ubicación deseada utilizando el Explorador de archivos.
  2. Abre una ventana de PowerShell con privilegios de administrador y ejecuta el siguiente comando para actualizar la configuración de Docker con la nueva ubicación:
   dockerd --data-root="C:\</p>
uta\
ueva"
  1. Inicia el servicio de Docker:
   Start-Service Docker

</p>

Es importante destacar que al cambiar la ubicación del directorio raíz de Docker, se perderán todos los datos y configuraciones anteriores asociados a Docker. Además, ten en cuenta que los comandos pueden variar dependiendo de la distribución de Linux o la versión de Windows que estés utilizando. Asegúrate de tener cuidado al realizar estos cambios y sigue las instrucciones específicas para tu sistema operativo.

Desinstalar Docker completamente

Si tras borrar los ficheros de datos de docker quieres desinstalarlo completamente, ejecutar el siguiente comando:

sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

</p>

Categorías: Desarrollo
Etiquetas: Docker