Error de Docker: no queda espacio en el dispositivo

Resuelto user_mda asked hace 9 años • 0 respuestas

Instalé Docker en una máquina Debian 7 de la siguiente manera

$ echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list
$ sudo apt-get update
$ curl -sSL https://get.docker.com/ubuntu/ | sudo sh

Después de eso, cuando intenté crear una imagen por primera vez, falló con el siguiente error

 time="2015-06-02T14:26:37-04:00" level=info msg="[8] System error: write /sys/fs/cgroup/docker/01f5670fbee1f6687f58f3a943b1e1bdaec2630197fa4da1b19cc3db7e3d3883/cgroup.procs: no space left on device"

Aquí está la información de la ventana acoplable.

Containers: 2
Images: 21
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 25
Dirperm1 Supported: true
Execution Driver: native-0.2
Kernel Version: 3.16.0-0.bpo.4-amd64
Operating System: Debian GNU/Linux 7 (wheezy)
CPUs: 2
 Total Memory: 15.7 GiB


WARNING: No memory limit support
 WARNING: No swap limit support

¿Cómo puedo aumentar la memoria? ¿Dónde se almacenan las configuraciones del sistema?

De las sugerencias de Kal:

Cuando me deshice de todas las imágenes y contenedores, liberé algo de espacio y la creación de la imagen duró más tiempo antes de fallar con el mismo error. Entonces la pregunta es ¿a qué espacio se refiere esto y cómo lo configuro?

user_mda avatar Jun 03 '15 02:06 user_mda
Aceptado

La mejor práctica actual es:

docker system prune

Tenga en cuenta el resultado de este comando antes de aceptar las consecuencias:

WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all dangling images
  - all dangling build cache

Are you sure you want to continue? [y/N]

En otras palabras, continuar con este comando es permanente. Tenga en cuenta que la mejor práctica es tratar los contenedores detenidos como efímeros , es decir, debe diseñar su trabajo con Docker para no mantener estos contenedores detenidos. Es posible que desee considerar el uso de la --rmbandera en tiempo de ejecución si no está depurando activamente sus contenedores.

Asegúrate de leer esta respuesta , re: Volúmenes

También te puede interesar esta respuesta , si docker system pruneno te funciona.

Joshua Cook avatar Apr 12 '2016 21:04 Joshua Cook

Tuve el mismo error y lo solucioné de esta manera:

1 . Elimine los volúmenes huérfanos en Docker, puede usar el comando de volumen incorporado de Docker. El comando integrado también elimina cualquier directorio en /var/lib/docker/volumes que no sea un volumen, así que asegúrese de no haber puesto nada allí que desee guardar.

Advertencia, tenga mucho cuidado con esto si tiene algunos datos que desea conservar.

Limpiar:

$ docker volume rm $(docker volume ls -qf dangling=true)

Comandos adicionales:

Lista de volúmenes colgantes:

$ docker volume ls -qf dangling=true

Lista todos los volúmenes:

$ docker volume ls

2 . También considere eliminar todas las imágenes no utilizadas.

Primero, elimine las <none>imágenes (a veces se generan mientras se crea una imagen y, si por algún motivo se interrumpe la creación de la imagen, permanecen allí).

aquí hay un buen script que uso para eliminarlos

docker rmi $(docker images | awk '/^<none>/ {print $3}')

Luego, si está utilizando Docker Compose para crear imágenes localmente para cada proyecto. Terminará con muchas imágenes que generalmente tienen nombres similares a su carpeta (por ejemplo, si la carpeta de su proyecto se llama Hola, encontrará el nombre de las imágenes Hello_blablabla). Así que también considera eliminar todas estas imágenes.

puede editar el script anterior para eliminarlos o eliminarlos manualmente con

docker rmi {image-name}

Web_Designer avatar May 17 '2016 22:05 Web_Designer