Machine: No queda espacio en el dispositivo en la máquina predeterminada

Creado en 30 ago. 2015  ·  11Comentarios  ·  Fuente: docker/machine

Cuando intento iniciar un contenedor de Postgres en la máquina default en OS X, aparece este error:

The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.utf8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/postgresql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
creating template1 database in /var/lib/postgresql/data/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating collations ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
loading PL/pgSQL server-side language ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
FATAL:  could not write to file "base/12141/12065": No space left on device
STATEMENT:  CREATE DATABASE postgres;

child process exited with exit code 1
initdb: removing contents of data directory "/var/lib/postgresql/data"
copying template1 to postgres ...

Cuando ssh en la máquina usando docker-machine ssh default y ejecuto df -h , obtengo este resultado:

tmpfs                     1.8G    112.4M      1.7G   6% /
tmpfs                  1001.4M    184.0K   1001.2M   0% /dev/shm
/dev/sda1                18.2G     17.2G     31.9M 100% /mnt/sda1
cgroup                 1001.4M         0   1001.4M   0% /sys/fs/cgroup
none                    237.3G    225.5G     11.9G  95% /Users
/dev/sda1                18.2G     17.2G     31.9M 100% /mnt/sda1/var/lib/docker/aufs
none                     18.2G     17.2G     31.9M 100% /mnt/sda1/var/lib/docker/aufs/mnt/e0289dcde7fa0113481a65379aca4d1a2455d1724164f7cd0aedc5a0222c226d
none                     18.2G     17.2G     31.9M 100% /mnt/sda1/var/lib/docker/aufs/mnt/1ad325fa03f9fac1b0a7134c19775aa61a0b971c227420fdecb14d19f8d067b8

Además de recrear la máquina: ¿Cuál es la mejor manera de obtener más espacio o limpiar las cosas?

Comentario más útil

Quizás todavía tenga algunos volúmenes montados en su máquina.

Sugiero ejecutar este contenedor para limpiar todo:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:ro -v /var/lib/docker:/var/lib/docker martin/docker-cleanup-volumes

Aquí para más información y precauciones: https://github.com/chadoe/docker-cleanup-volumes

Tenga en cuenta que esto eliminará todos los datos de sus volúmenes huérfanos.

Todos 11 comentarios

Después de rm -ing todos los contenedores y rmi -ing todas las imágenes, el resultado de df -h ve así:

Filesystem                Size      Used Available Use% Mounted on
tmpfs                     1.8G    112.4M      1.7G   6% /
tmpfs                  1001.4M         0   1001.4M   0% /dev/shm
/dev/sda1                18.2G     15.7G      1.5G  91% /mnt/sda1
cgroup                 1001.4M         0   1001.4M   0% /sys/fs/cgroup
none                    237.3G    226.0G     11.3G  95% /Users
/dev/sda1                18.2G     15.7G      1.5G  91% /mnt/sda1/var/lib/docker/aufs

Tan pronto como extraigo imágenes para Node.js y Postgres nuevamente, el espacio disponible casi desaparece nuevamente ...

Quizás todavía tenga algunos volúmenes montados en su máquina.

Sugiero ejecutar este contenedor para limpiar todo:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:ro -v /var/lib/docker:/var/lib/docker martin/docker-cleanup-volumes

Aquí para más información y precauciones: https://github.com/chadoe/docker-cleanup-volumes

Tenga en cuenta que esto eliminará todos los datos de sus volúmenes huérfanos.

@ Oliboy50 Gracias, esto hizo el truco: +1:

filesystem                Size      Used Available Use% Mounted on
tmpfs                     1.8G    112.4M      1.7G   6% /
tmpfs                  1001.4M         0   1001.4M   0% /dev/shm
/dev/sda1                18.2G     77.3M     17.1G   0% /mnt/sda1
cgroup                 1001.4M         0   1001.4M   0% /sys/fs/cgroup
none                    237.3G    226.2G     11.1G  95% /Users
/dev/sda1                18.2G     77.3M     17.1G   0% /mnt/sda1/var/lib/docker/aufs

docker-cleanup-volume no funcionó en la configuración de mi docker-machine (OSX también)

docker<strong i="6">@default</strong>:~/docker-cleanup-volumes$ docker run --rm -v /var/run/docker.sock
:/var/run/docker.sock:ro -v /var/lib/docker:/var/lib/docker martin/docker-cleanu
p-volumes --dry-run

Delete unused volume directories from /var/lib/docker/volumes
In use 4423d5bdf1a2df1bd91083e0602f33271e30ff6b29cdb7297f94e95ce8e32c43
In use a4f95c3cd6a5b926b9dac6ff741ce35295771bc965c7f97dbedc6100838caa20

Directory /var/lib/docker/vfs/dir does not exist or is empty, skipping.

Debido a que Directory / var / lib / docker / vfs / dir no existe o está vacío, se omite.

@rodowi ¡ funcionó en el mío!

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:ro -v /var/lib/docker:/var/lib/docker martin/docker-cleanup-volumes

@kurenn Cuando corro, da no space left on device nuevo: 😢

Unable to find image 'martin/docker-cleanup-volumes:latest' locally
latest: Pulling from martin/docker-cleanup-volumes
e6c44a677827: Downloading [>                                                  ] 26.06 kB/2.492 MB
e665190e5bfd: Downloading [==================================================>] 5.371 MB/5.371 MB
3f134245a2ac: Downloading [==================================================>] 2.033 kB/2.033 kB
docker: open /mnt/sda1/var/lib/docker/tmp/GetImageBlob736093559: no space left on device.
See 'docker run --help'.

@jklemm Mira este repositorio, también me funcionó https://github.com/chadoe/docker-cleanup-volumes

¡Déjame saber cómo te va, por favor!

Para aquellos que (como yo) no tuvieron éxito con los volúmenes de limpieza de la ventana acoplable en Mac OS X: pueden usar una forma más "dura" de limpiar todo.
Mata a los contenedores en funcionamiento:
docker kill $(docker ps -qa)
Borra los:
docker rm -v $(docker ps -qa)
Eliminar todas las imágenes (opcionalmente utilicé la opción -f para forzar la eliminación de todas):
docker rmi -f $(docker images -q)
Espero que esto ayude

@yaronius Funcionó para mí :)

docker system prune -a -f --volumes .. publique este comando que pude trabajar.

@BensamV tienes razón

docker system prune -a --volumes ahora es la forma recomendada si realmente desea limpiar todo

(a diferencia de ti, prefiero eliminar la opción -f porque puede provocar un "oops ... no quería ... oh mierda 😭")

capture d ecran 2018-09-12 a 09 35 10

¿Fue útil esta página
0 / 5 - 0 calificaciones