Ich verwende die neueste Version von Docker (1.8.2) auf Mac OS X 10.10.5 (Yosemite) mit der neuesten Version docker-machine
(0.4.1). Ich habe nur zwei Vanilla CentOS 6-Container auf einem Standardhost laufen docker-machine
. Es gibt keine spezielle Konfiguration, die Container führen eigentlich überhaupt nichts aus … nur Bash-Shells.
Mit der Zeit sehe ich, dass die Festplattenauslastung df -h
sowohl auf den Containern als auch auf dem Host-Rechner (also dem docker-machine
) auf 100 % steigt. Ich kann auch hören, wie der Lüfter auf meinem Mac anspringt und schneller wird, bis ich die Container herunterfahre.
Ich dachte, dass vielleicht ein fehlerhafter Prozess dazu führte, dass das lokale Dateisystem in den Containern wuchs, aber du -hs /
es werden nur ein paar Hundert MB gemeldet.
Ich bin relativ neu bei Docker und kann die Ursache dieses Problems nicht finden. Irgendeine Idee, was dazu führen könnte, dass die Festplattenauslastung so außer Kontrolle gerät?
Bearbeiten 1: Ausgaben von df -h
und hinzufügendf -i
Datenträgernutzung aus einem Container
[root@99e23f7c4ae6 /]# df -h
Filesystem Size Used Avail Use% Mounted on
none 19G 18G 0 100% /
tmpfs 499M 0 499M 0% /dev
shm 64M 0 64M 0% /dev/shm
tmpfs 499M 0 499M 0% /sys/fs/cgroup
/dev/sda1 19G 18G 0 100% /etc/hosts
tmpfs 499M 0 499M 0% /proc/kcore
tmpfs 499M 0 499M 0% /proc/timer_stats
[root@99e23f7c4ae6 /]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
none 1218224 28199 1190025 3% /
tmpfs 127518 17 127501 1% /dev
shm 127518 1 127517 1% /dev/shm
tmpfs 127518 11 127507 1% /sys/fs/cgroup
/dev/sda1 1218224 28199 1190025 3% /etc/hosts
tmpfs 127518 17 127501 1% /proc/kcore
tmpfs 127518 17 127501 1% /proc/timer_stats
[root@99e23f7c4ae6 /]# du -hs /
du: cannot access '/proc/348/task/348/fd/3': No such file or directory
du: cannot access '/proc/348/task/348/fdinfo/3': No such file or directory
du: cannot access '/proc/348/fd/4': No such file or directory
du: cannot access '/proc/348/fdinfo/4': No such file or directory
610M /
Datenträgernutzung vom Host
docker@default:~$ df -h
Filesystem Size Used Available Use% Mounted on
tmpfs 896.6M 115.3M 781.3M 13% /
tmpfs 498.1M 72.0K 498.0M 0% /dev/shm
/dev/sda1 18.2G 18.2G 0 100% /mnt/sda1
cgroup 498.1M 0 498.1M 0% /sys/fs/cgroup
none 464.8G 224.6G 240.2G 48% /Users
/dev/sda1 18.2G 18.2G 0 100% /mnt/sda1/var/lib/docker/aufs
none 18.2G 18.2G 0 100% /mnt/sda1/var/lib/docker/aufs/mnt/99e23f7c4ae608b2354c9375a0e3a7513692b44297c24d143a6b92dd73dae611
df: /var/run/docker/netns/99e23f7c4ae6: Permission denied
docker@default:~$ df -i
Filesystem Inodes Used Available Use% Mounted on
tmpfs 124.5K 4.4K 120.2K 3% /
tmpfs 124.5K 3 124.5K 0% /dev/shm
/dev/sda1 1.2M 27.5K 1.1M 2% /mnt/sda1
cgroup 124.5K 11 124.5K 0% /sys/fs/cgroup
none 1000 0 1000 0% /Users
/dev/sda1 1.2M 27.5K 1.1M 2% /mnt/sda1/var/lib/docker/aufs
none 1.2M 27.5K 1.1M 2% /mnt/sda1/var/lib/docker/aufs/mnt/99e23f7c4ae608b2354c9375a0e3a7513692b44297c24d143a6b92dd73dae611
df: /var/run/docker/netns/99e23f7c4ae6: Permission denied
Antwort1
Jedes Mal, wenn Sie einen neuen Container mit starten docker run
, verzweigen Sie sich im Wesentlichen von dem ursprünglichen Image, mit dem Sie begonnen haben. Je nachdem, was Sie tun, haben Sie möglicherweise eine Reihe sehr ähnlicher Images, die ohne Grund Speicherplatz belegen. Sie müssen auch bedenken, dass Docker auf dem Mac von einer VirtualBox-basierten VM gehostet wird, sodass sich alle Docker-Images den gesamten Speicherplatz teilen.
Ich habe gerade erst mit Docker angefangen, also muss es einen besseren Weg geben, mit diesem Problem umzugehen, aber so habe ich es unten gelöst. Sie möchten vielleicht nicht unbedingt alle Ihre Container entfernen, aber dies gibt Ihnen einen Einblick in den Zustand Ihres Dockers:
- Überprüfen Sie Ihre initialisierten Container:
docker ps -a
(-a
weil einige von ihnen nicht laufen) Stoppen Sie alle vorhandenen Container:
docker stop `docker ps -a|cut -f 1 -d ' '|xargs`
Alles entfernenvorhandene Container:
docker rm `docker ps -a|cut -f 1 -d ' '|xargs`
Alles entfernen"unbenannte" (
<none>
) Bilder. Ich habe mit der Erstellung meiner eigenen Bilder experimentiert und die meisten davon wurden nicht verwendet:docker rmi `docker images|grep -i none|sed -e 's/ \{1,\}/ /g'| cut -d ' ' -f 3|xargs`
Danach bekam ich meinen Platz zurück.