Docker neden yeni bir ubuntu görüntüsü üzerinde% 100 disk kullanımını bildiriyor?


15

Artık docker'ı kullanamıyorum veya etkili bir şekilde yeni görüntüler çalıştıramıyorum -% 100 disk kullanımım olduğunu bildiriyor. Burada, ubuntu'nun bozulmamış bir kopyasını başlattığımı görebilirsiniz, ancak yine de bana disk alanım kalmadığını söylüyor:

$ docker run -t -i ubuntu /bin/bash
root@3838b70bd76e:/# df -h 
Filesystem      Size  Used Avail Use% Mounted on
rootfs           19G   18G     0 100% /
none             19G   18G     0 100% /
tmpfs          1005M     0 1005M   0% /dev
shm              64M     0   64M   0% /dev/shm
/dev/sda1        19G   18G     0 100% /etc/hosts
tmpfs          1005M     0 1005M   0% /proc/kcore

Ayrı olarak, bir mysql örneği başlatmaya çalışıyorum ve bana kullanılabilir disk yok aslında bağlı olduğuna inanıyorum hata iletileri veriyor. Orchardup ​​/ mysql çalıştırmayı denediğimde:

ERROR: 1030  Got error 28 from storage engine

Bu, depolama alanınızın bittiği anlamına gelir.

Bu göz önüne alındığında, yukarıdaki df -h raporunu nasıl yorumlamalıyım ve diskimin% 100'ünü neyin harcadığını nasıl belirleyebilirim? Boot2docker kullanarak docker 1.3 çalıştırıyorum, OSX 10.9.4 üzerinde çalışıyorum.

Teşekkürler.


Düzenleme: Bir geçici çözüm olarak, ben çalıştırmak boot2docker deleteve sonra boot2docker initve tüm görüntüleri (neyse ki benim dockerfiles ile onları yeniden inşa) çöpe gibi görünüyor . Şimdi, yeni bir ubuntu görüntüsüne başladığımda:

root@f53d637e3d33:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           19G  373M   17G   3% /
none             19G  373M   17G   3% /
tmpfs          1005M     0 1005M   0% /dev
shm              64M     0   64M   0% /dev/shm
/dev/sda1        19G  373M   17G   3% /etc/hosts
tmpfs          1005M     0 1005M   0% /proc/kcore

Çok daha iyi. Ancak, hala kafam karıştı, boot2docker tarafından barındırılan tüm görüntülerde daha önce doldurulmuş bir tür paylaşılan küresel disk olmalı mı?


Edit 2: Sadece bir grup görüntü indirdim ve şimdi ubuntu görüntüsünü çalıştırıp boş disk alanını kontrol ettiğimde gördüğüm şey:

root@f53d637e3d33:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           19G  2.7G   15G  16% /
none             19G  2.7G   15G  16% /
tmpfs          1005M     0 1005M   0% /dev
shm              64M     0   64M   0% /dev/shm
/dev/sda1        19G  2.7G   15G  16% /etc/hosts
tmpfs          1005M     0 1005M   0% /proc/kcore

% 3 ila% 16 tüketildi! Açıkçası tüm görüntülerim arasında anlamadığım bir tür paylaşılan disk var ...


Docker kapsayıcılarını nasıl kullanıyorsunuz ve kullanıcılar / gruplar nasıl dağıtılıyor (mysql hatalarına göre daha fazla) Ayrıca, docker için ana bilgisayarda bir şey paylaşıyorlar mı yoksa tamamen bağımsız mı?
linuxdev2013

Yanıtlar:


1

Windows ana makinelerinde, boot2docker sanal kutuyu kullanarak bir sanal makine oluşturarak çalışır. boot2docker init komutunu çalıştırdığınızda sanal bir makine oluşturur ve varsayılan olarak kök diske 20G atar. Bu sanal makine, asıl docker arka plan programını çalıştıran minimal bir Linux işletim sistemi çalıştırır (docker arka plan programı henüz pencerelerde yerel olarak çalışmaz).

sanal makineye bağlı disk, liman işleyici görüntüleri için depolama alanı sağlar. başlangıçtaki disk boyutunu artırmak için boot2docker init komutuna ek seçeneklere bakabilirsiniz. bu sanal makinede kullanılabilecek disk boyutunu artıracaktır, ancak Queasy'nin belirttiği gibi, görüntüler için kullanılabilir depolamayı artırmak için docker arka plan programına ek seçenekler eklemeniz gerekir.

kapta "df -h" komutunu çalıştırdığınızda, bildirilen toplam disk boyutu "dm.basesize" seçeneği kullanılarak docker arka plan programına ayrılan disk alanıdır.

not: boot2docker artık Docker Toolbox lehine kullanımdan kaldırılmıştır. bu sürüme yükseltmek isteyebilirsiniz, bu durumda "boot2docker init" yerine "docker-machine create" kullanabilirsiniz. docker-toolbox'a geçtim, bu yüzden boot2docker init için gerekli komut seçeneklerini test edemiyorum


0

/ Etc / sysconfig / docker-storage içindeki docker yapılandırmasını değiştirin ve satırı ekleyin:

DOCKER_STORAGE_OPTIONS= --storage-opt dm.basesize=30G

Bu göreve devam etmeden önce liman işçinizi yedeklemeyi unutmayın, çünkü başlatıldıktan sonra verileriniz silinecektir.


--storage-optOSX'te desteklenmiyor
Quanlong

0

Sürücünün kötü olabileceğini düşünün. Hitachi (Drive Fitness Test), Seagate (Seatools) ve Western Digital (Western Digital Data Lifeguard), bunu belirlemenize yardımcı olacak ücretsiz tanılama yazılımı sunar.

Kötü bir sürücünün disk alanı ile nasıl vidalanabileceğine bir örnek olarak, Windows'a hala aktarılacak PETABYTES veri kaldığını bildiren 1 TB sürücüleri yedekledim .

Sürücünüzün iyi olması durumunda, hangi klasörün büyük olduğunu görmek için du (Disk Usage) kullanın. du -h /usr/bin, du -h /varveya du -h /home/[username]/Downloadstam yerini belirlemeye yardımcı olmak için.

Düzenleme: OS X kullandığınızı gördüm: Yukarıda belirtilen HDD araçlarını önyüklenebilir seçenekler olarak veya daha sonra bu araçlara önyükleme yapıp çalıştırabileceğiniz ücretsiz Windows PE gibi bir şey kullanmanız gerekecek.


0

Cihaz haritası liman sunucusunun varsayılan depolama motorudur. / Var / lib / docker'da varsayılan olarak 100Gb'yi yeniden konumlandırmaya çalışır. Bu alanın hepsi gerçekten kullanılmıyor ve seçeneklerde yapılandırabilirsiniz. Docker belgeleri

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.