Docker no ve todos los discos: no queda espacio en el dispositivo [duplicate]

2 minutos de lectura

si corro

df -h

dentro del Dockerfile de una imagen que quiero construir, ve:

Filesystem      Size  Used Avail Use% Mounted on
overlay         118G  112G     0 100% /
tmpfs            64M     0   64M   0% /dev
tmpfs            16G     0   16G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/sda1       118G  112G     0 100% /etc/hosts
tmpfs            16G     0   16G   0% /proc/asound
tmpfs            16G     0   16G   0% /proc/acpi
tmpfs            16G     0   16G   0% /proc/scsi
tmpfs            16G     0   16G   0% /sys/firmware

pero si lo ejecuto afuera, ve:

Filesystem      Size  Used Avail Use% Mounted on
udev             16G     0   16G   0% /dev
tmpfs           3.2G  355M  2.8G  12% /run
/dev/sda1       118G  112G     0 100% /
tmpfs            16G  300M   16G   2% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            16G     0   16G   0% /sys/fs/cgroup
/dev/sda3       308G  4.8G  288G   2% /mnt/ssd
/dev/sdb1       1.8T  1.2T  605G  66% /home
tmpfs           3.2G   16K  3.2G   1% /run/user/1002
tmpfs           3.2G  4.0K  3.2G   1% /run/user/1038
tmpfs           3.2G     0  3.2G   0% /run/user/1037
/dev/loop1       97M   97M     0 100% /snap/core/9436
/dev/loop0       97M   97M     0 100% /snap/core/9665
/dev/loop3      163M  163M     0 100% /snap/blender/42
/dev/loop2      163M  163M     0 100% /snap/blender/43
tmpfs           3.2G     0  3.2G   0% /run/user/1039

Recibí el error “No queda espacio en el dispositivo” y me gustaría usar mi disco /dev/sdb1 con 600 GB libres, ¿por qué docker no lo ve? ¿Cómo puedo hacer que use ese espacio?

Docker, en ausencia de una configuración explícita en sentido contrario, almacena los datos del contenedor en /var/lib/docker. Si desea expandir el espacio disponible para sus contenedores Docker, una solución sería montar un sistema de archivos desde /dev/sdb sobre /var/lib/docker.

Alternativamente, puede configurar Docker para almacenar datos de contenedores en una ubicación diferente configurando el data-root opción en su /etc/docker/daemon.json archivo, como se describe en la documentación de dockerd.

Por ejemplo:

{
  "data-root": "/home/docker"
}

En cualquier caso, es posible que desee copiar los archivos existentes de /var/lib/docker en la nueva ubicación; de lo contrario, Docker no verá ninguna de sus imágenes, contenedores, volúmenes, etc. existentes después de realizar el cambio.

  • Gracias por la respuesta rápida y clara, me parece que necesito ser sudoers para hacer algo de eso, ¿no es así?

    – Asia Lucchi

    8 de agosto de 2020 a las 13:42

  • Necesitará root privilegios para modificar la configuración de la ventana acoplable o la configuración del sistema de archivos de su host, sí.

    – alondras

    8 de agosto de 2020 a las 14:24

¿Ha sido útil esta solución?