Ir al contenido principal

Instalaste Docker y se come espacio en tu disco

Básicamente este post traduce la ayuda que vi en la siguiente página:

https://stackoverflow.com/questions/62441307/how-can-i-change-the-location-of-docker-images-when-using-docker-desktop-on-wsl2

Entonces, la instalación que hice en mi máquina fue la siguiente:

  1. Activar Virtualización en el BIOS
  2. Instalar Docker
  3. Elegir que el motor linux se manejará con WSL2
En este caso tenemos dos cosas a tomar en cuenta:
  1. El archivo de SWAP que utiliza docker para los contenedores
  2. El archivo donde se guardan todas las imágenes.
En ambos casos el lugar de los archivos que se usan están en la carpeta del usuario. A veces este lugar puede crecer mucho y nos quedamos sin espacio en disco.

Liberando el SWAP de docker

Primeramente vamos a parar el servicio de docker. Luego, En la carpeta del usuario se encuentra un archivo llamado .wslconfig. Solamente se lo debe editar y cambiar la línea
# Sets swapfile path location, default is %USERPROFILE%\AppData\Local\Temp\swap.vhdx
swapfile=E:\\temp\\wsl-swap.vhdx

Cambiando el lugar donde están las imágenes

Este proceso es un poco más delicado y se debe hacer con más cuidado. Lo primero que haremos será parar docker completamente. Podemos verificar que todo está parado de la siguiente manera desde la línea de comando (cmd)

wsl --list -v
  NAME                   STATE           VERSION
* docker-desktop         Stopped         2
  docker-desktop-data    Stopped         2

Luego de ese comando wsl la respuesta debería indicar que los dos servicios están parados.
Ahora tenemos que exportar el archivo que ocupa mucho campo a un formato que podamos mover, como por ejemplo tar. La preparación de ese archivo implica usar la herramienta wsl otra vez

wsl --export docker-desktop-data "E:\Docker\wsl\data\docker-desktop-data.tar"

Anulamos el registro actual que tenemos de la data de docker-desktop. 

wsl --unregister docker-desktop-data

Restauramos el docker-desktop-data pero se le indica otra ruta

wsl --import docker-desktop-data "E:\Docker\wsl\data" "E:\Docker\wsl\data\docker-desktop-data.tar" --version 2

No es mala idea en este punto apagar la máquina. Comenzamos nuestro host docker y vemos que todo esté funcionando bien.
Finalmente, podemos eliminar el archivo .tar si estamos satisfechos.

Comentarios

Entradas más populares de este blog

Hangfire, si no lo estás usando, estás haciendo algo mal (.NET world)

Hangfire es una librería espectacular que permite encolar tareas en un servidor de tareas que funciona dentro de tu aplicación web. Existen varios tutoriales que muestran de manera bastante sencilla cómo puedes ir integrando esto a tu aplicación. En esta publicación vamos a repetir, pero en español, y sobretodo vamos a tratar de ir lo más al punto posible. Qué es? Es una librería que la cargas a través de NUGET como cualquier otra librería. En realidad tenemos que cargar 3 librerías pero eso lo veremos más adelante. Una vez que hayas cargado todo lo necesario en tu aplicación web tendrás lo siguiente: Un servidor de colas : es decir, un lugar al cual le puedes mandar hacer cosas y no se olvida de esas cosas y las va ejecutando a medida que puede o tiene tiempo. Esto es muy útil para que tu aplicación no pierda tiempo haciendo algo que no necesita realmente hacer en ese instante y devolver más rápido al usuario final. Un tablero de control de colas : una serie de ...

Reflexiones con Pareto

Nada como temprano en la mañana con 10 estudiantes para aprovechar de hacer algunas reflexiones. Hoy quiero compartir una que andaba rondando mi cabeza hace algunos años ya... y al final con los estudiantes salio algo en concreto. Para todo efecto, programador principiante y estudiante se utilizan para indicar lo mismo en este texto. Contexto Los estudiantes presentaron un práctico de programación relativamente complejo implementando el algoritmo de Dijkstra para encontrar el camino entre dos nodos de un grafo. El ambiente era, por supuesto, de caras largas, desvelados y con algo de frustración en lo poco de impulso que les quedaba. Todo esto a pesar de haber tenido varios días feriados y suficiente tiempo para preparar esto. Entiendo que es algo que un estudiante hace e hizo desde siempre... en toda latitud, pero con ligeros cambios (ya lo veremos) Pareto Luego de la revisión comenzamos leyendo lo que indica este principio en wikipedia: Así por ejemplo cuando hablamos de...