Machine: Kein Platz mehr auf dem Gerät im Standardcomputer

Erstellt am 30. Aug. 2015  ·  11Kommentare  ·  Quelle: docker/machine

Wenn ich versuche, einen Postgres-Container auf dem default Rechner unter OS X zu starten, erhalte ich diese Fehlermeldung:

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 ...

Wenn ich ssh mit docker-machine ssh default ssh in die Maschine einsteige und df -h ausführe, erhalte ich diese Ausgabe:

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

Abgesehen von der Neuerstellung der Maschine: Was ist der beste Weg, um mehr Platz zu bekommen oder Dinge aufzuräumen?

Hilfreichster Kommentar

Vielleicht haben Sie noch einige Volumes in Ihrem Computer gemountet.

Ich schlage vor, diesen Container auszuführen, um das Ganze zu bereinigen:

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

Hier finden Sie weitere Informationen und Vorsichtsmaßnahmen: https://github.com/chadoe/docker-cleanup-volumes

Beachten Sie, dass dadurch alle Ihre verwaisten Volume-Daten gelöscht werden.

Alle 11 Kommentare

Nach rm -ing alle Container und rmi -ing alle Bilder, sieht df -h Ergebnis wie folgt aus:

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

Sobald ich wieder Bilder für Node.js und Postgres ziehe, ist der verfügbare Speicherplatz fast wieder weg...

Vielleicht haben Sie noch einige Volumes in Ihrem Computer gemountet.

Ich schlage vor, diesen Container auszuführen, um das Ganze zu bereinigen:

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

Hier finden Sie weitere Informationen und Vorsichtsmaßnahmen: https://github.com/chadoe/docker-cleanup-volumes

Beachten Sie, dass dadurch alle Ihre verwaisten Volume-Daten gelöscht werden.

@Oliboy50 Danke, das hat den Trick gemacht :+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-volumes funktionierte nicht auf meinem Docker-Rechner-Setup (auch OSX)

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.

Aufgrund von Verzeichnis /var/lib/docker/vfs/dir existiert nicht oder ist leer, wird übersprungen.

@rodowi bei mir hat es funktioniert!

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 Wenn ich laufe, gib noch einmal no space left on device : 😢

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 Schau https://github.com/chadoe/docker-cleanup-volumes

Lass mich bitte wissen, wie es gelaufen ist!

Für diejenigen, die (wie ich) keinen Erfolg mit Docker-Cleanup-Volumes unter Mac OS X hatten: Sie können mehr "Hardcore"-Methoden verwenden, um alles zu bereinigen.
Töte laufende Container:
docker kill $(docker ps -qa)
Lösche sie:
docker rm -v $(docker ps -qa)
Alle Bilder entfernen (ich habe optional die Option -f verwendet, um das Löschen aller zu erzwingen):
docker rmi -f $(docker images -q)
Hoffe das hilft

@yaronius Bei mir hat es funktioniert :)

docker system prune -a -f --volumes.. post this command Ich konnte arbeiten.

@BensamV du hast recht

docker system prune -a --volumes ist jetzt der empfohlene Weg, wenn Sie wirklich alles aufräumen möchten

(im Gegensatz zu dir ziehe ich es vor, die Option -f zu entfernen, weil dies zu einem "oops... ich wollte nicht... oh Mist 😭") führen kann.

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

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen