Saya tidak lagi dapat menggunakan buruh pelabuhan atau menjalankan gambar baru secara efektif - dilaporkan bahwa saya memiliki 100% penggunaan disk. Di sini, Anda dapat melihat saya meluncurkan salinan ubuntu yang asli, namun ia memberi tahu saya bahwa saya tidak memiliki ruang disk tersisa:
$ 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
Secara terpisah, saya mencoba untuk memulai contoh mysql dan itu memberi saya pesan kesalahan yang saya yakini terhubung dengan fakta bahwa saya tidak memiliki disk yang tersedia. Ketika saya mencoba menjalankan orchardup / mysql, saya mendapatkan:
ERROR: 1030 Got error 28 from storage engine
Yang berarti sudah kehabisan ruang penyimpanan.
Mengingat ini, bagaimana saya harus menafsirkan laporan df-h di atas, dan bagaimana saya bisa menentukan apa yang mengkonsumsi 100% dari disk saya? Saya menjalankan docker 1.3, berjalan di OSX 10.9.4, menggunakan boot2docker.
Terima kasih.
Sunting: Sebagai solusi, saya telah menjalankan boot2docker delete
, dan kemudian boot2docker init
, dan tampaknya telah menghancurkan semua gambar saya (untungnya saya dapat membangunnya kembali dengan file docker saya ). Sekarang, ketika saya memulai gambar ubuntu baru:
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
Jauh lebih baik. Tapi, saya masih bingung, harus ada semacam disk global bersama di semua gambar yang di-host oleh boot2docker yang sebelumnya terisi?
Sunting 2: Saya baru saja mengunduh banyak gambar, dan sekarang inilah yang saya lihat ketika saya menjalankan gambar ubuntu dan memeriksa ruang disk kosong:
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
Dari 3% hingga 16% dikonsumsi! Jelas ada semacam disk bersama antara semua gambar saya yang saya tidak mengerti ...
sumber
Jawaban:
Pada host windows, boot2docker berfungsi dengan membuat mesin virtual menggunakan kotak virtual. ketika Anda menjalankan boot2docker init, ia menciptakan mesin virtual dan, secara default, menetapkan 20G ke disk root. mesin virtual ini menjalankan OS Linux minimal yang pada gilirannya menjalankan docker daemon yang sebenarnya (docker daemon tidak berjalan secara native di windows - belum).
disk yang terpasang pada mesin virtual menyediakan penyimpanan untuk gambar buruh pelabuhan. jadi Anda bisa melihat opsi tambahan untuk perintah init boot2docker untuk menambah ukuran disk awal. ini akan meningkatkan ukuran disk yang tersedia untuk digunakan di mesin virtual, tetapi seperti yang ditunjukkan Queasy, Anda perlu menambahkan opsi tambahan ke daemon buruh pelabuhan untuk meningkatkan penyimpanan yang tersedia untuk gambar.
ketika Anda menjalankan "df -h" dalam wadah, ukuran total disk yang dilaporkan adalah dari ruang disk yang dialokasikan untuk daemon buruh pelabuhan menggunakan opsi "dm.basesize".
catatan: boot2docker sekarang tidak digunakan lagi karena Docker Toolbox. Anda mungkin ingin memutakhirkan ke versi itu, dalam hal ini Anda akan menggunakan "buruh pelabuhan-mesin buat" bukan "boot2docker init". saya telah beralih ke docker-toolbox sehingga tidak dapat menguji opsi perintah yang diperlukan untuk boot2docker init
sumber
Ubah konfigurasi buruh pelabuhan di / etc / sysconfig / docker-storage dan tambahkan baris:
Ingatlah untuk membuat cadangan buruh pelabuhan Anda sebelum melanjutkan dengan tugas ini karena itu akan menghapus data Anda setelah diinisialisasi.
sumber
--storage-opt
tidak didukung di OSXPertimbangkan bahwa drive mungkin buruk. Hitachi (Drive Fitness Test), Seagate (Seatools), dan Western Digital (Western Digital Data Lifeguard) semuanya menawarkan perangkat lunak diagnostik gratis untuk membantu Anda menentukan ini.
Sebagai contoh bagaimana drive yang buruk dapat mengacaukan dengan ruang disk, saya telah membuat cadangan drive 1TB yang melaporkan ke Windows bahwa mereka masih memiliki PETABYTES data yang tersisa untuk ditransfer.
Jika drive Anda baik-baik saja, gunakan du (Penggunaan Disk) untuk melihat folder mana yang besar.
du -h /usr/bin
,du -h /var
ataudu -h /home/[username]/Downloads
untuk membantu menunjukkan dengan tepat.Sunting: Saya melihat Anda menggunakan OS X: Anda harus menggunakan alat HDD yang disebutkan di atas sebagai opsi yang dapat di-boot atau dalam sesuatu seperti Windows PE gratis, yang kemudian dapat Anda boot ke dan menjalankan alat-alat ini.
sumber
Devicemapper adalah mesin penyimpanan default docker. Mencoba untuk mengalokasikan 100Gb secara default di / var / lib / docker. Tidak semua ruang ini benar-benar digunakan, dan Anda dapat mengonfigurasinya dalam opsi. Dok dok
sumber