क्यों एक ताजा ubuntu छवि पर 100% डिस्क उपयोग रिपोर्टिंग कर रहा है?


15

मैं अब डॉकटर का उपयोग करने या प्रभावी ढंग से नई छवियां चलाने में सक्षम नहीं हूं - यह रिपोर्ट कर रहा है कि मेरे पास 100% डिस्क का उपयोग है। यहाँ, आप देख सकते हैं कि मैं ubuntu की एक प्राचीन प्रति लॉन्च कर रहा हूँ, और फिर भी यह बता रहा है कि मेरे पास कोई डिस्क स्थान नहीं है:

$ 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

अलग से, मैं एक mysql उदाहरण शुरू करने की कोशिश कर रहा हूं और यह मुझे त्रुटि संदेश दे रहा है जो मुझे लगता है कि इस तथ्य से जुड़े हैं कि मेरे पास कोई उपलब्ध डिस्क नहीं है। जब मैं orchardup ​​/ mysql को चलाने की कोशिश करता हूं, मुझे मिलता है:

ERROR: 1030  Got error 28 from storage engine

जिसका मतलब है कि यह स्टोरेज स्पेस से बाहर चला गया है।

इसे देखते हुए, मुझे उपरोक्त df -h रिपोर्ट की व्याख्या कैसे करनी चाहिए, और मैं यह कैसे निर्धारित कर सकता हूं कि मेरी डिस्क का 100% उपभोग हो रहा है? मैं बूट 2 चला रहा हूं। OS2 10.9.4 पर रन कर रहा हूं।

धन्यवाद।


संपादित करें: वर्कअराउंड के रूप में, मैं चला गया हूं boot2docker delete, और फिर boot2docker init, और यह प्रतीत होता है कि मेरी सभी छवियां ट्रैश हो गई हैं (सौभाग्य से मैं उन्हें अपने डॉकफाइल्स के साथ फिर से बना सकता हूं )। अब, जब मैं एक नई ubuntu छवि शुरू करता हूं:

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

बहुत बेहतर। लेकिन, मैं अभी भी उलझन में हूं, बूट 2 डॉक द्वारा होस्ट की गई सभी छवियों में किसी प्रकार की साझा वैश्विक डिस्क होनी चाहिए जो पहले भरी गई थी?


संपादन 2: मैंने अभी-अभी छवियों का एक गुच्छा डाउनलोड किया है, और अब यहाँ है कि मैं क्या देखता हूँ जब मैं ubuntu छवि को चलाता हूं और मुफ्त डिस्क स्थान की जांच करता हूं:

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% से 16% तक की खपत! स्पष्ट रूप से मेरी सभी छवियों के बीच किसी प्रकार की साझा डिस्क है जिसे मैं समझ नहीं रहा हूं ...


आप डॉकटर कंटेनरों का उपयोग कैसे कर रहे हैं और उपयोगकर्ताओं / समूहों को कैसे फैलाया जाता है (mysql त्रुटियों से अधिक) इसके अलावा, डॉक के लिए वे मेजबान पर कुछ भी साझा कर रहे हैं या वे विशुद्ध रूप से स्वयं निहित हैं?
linuxdev2013

जवाबों:


1

विंडोज़ होस्ट पर, boot2docker वर्चुअल बॉक्स का उपयोग करके एक वर्चुअल मशीन बनाकर काम करता है। जब आप boot2docker init चलाते हैं, तो यह एक वर्चुअल मशीन बनाता है और डिफ़ॉल्ट रूप से, रूट डिस्क पर 20G असाइन करता है। यह वर्चुअल मशीन एक न्यूनतम लिनक्स ओएस चलाता है जो बदले में वास्तविक डॉक डेमॉन चलाता है (docker daemon विंडोज़ पर अभी तक नहीं चलता है - अभी तक)।

वर्चुअल मशीन से जुड़ी डिस्क डॉक छवियों के लिए भंडारण प्रदान करती है। इसलिए आप प्रारंभिक डिस्क आकार को बढ़ाने के लिए boot2docker init कमांड के अतिरिक्त विकल्पों को देख सकते हैं। यह वर्चुअल मशीन में उपयोग के लिए उपलब्ध डिस्क के आकार को बढ़ाएगा, लेकिन जैसा कि Queasy ने बताया है, आपको छवियों के लिए उपलब्ध संग्रहण को बढ़ाने के लिए docker डेमन में अतिरिक्त विकल्प जोड़ने की आवश्यकता है।

जब आप कंटेनर में "df -h" चलाते हैं, तो रिपोर्ट की गई कुल डिस्क आकार "dm.basesize" विकल्प का उपयोग करते हुए docker डेमन को आवंटित डिस्क स्थान है।

नोट: boot2docker अब Docker Toolbox के पक्ष में हटा दिया गया है। आप उस संस्करण में अपग्रेड करना चाहते हैं, जिस स्थिति में आप "boot2docker init" के बजाय "docker-machine create" का उपयोग करेंगे। मैंने docker-toolbox पर स्विच किया है ताकि बूट 2docker init के लिए आवश्यक कमांड विकल्पों का परीक्षण न कर सके


0

Docker config / etc / sysconfig / docker-storage को संशोधित करें और लाइन जोड़ें:

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

इस कार्य को आगे बढ़ाने से पहले अपने डॉकटर का बैकअप लेना याद रखें क्योंकि यह आपके डेटा को एक बार आरंभिक रूप से हटा देगा।


--storage-optOSX पर समर्थित नहीं है
क्वांलोंग

0

विचार करें कि ड्राइव खराब हो सकती है। हिताची (ड्राइव फिटनेस टेस्ट), सीगेट (सीटूल्स), और वेस्टर्न डिजिटल (वेस्टर्न डिजिटल डेटा लाइफगार्ड) सभी आपको यह निर्धारित करने में मदद करने के लिए नि: शुल्क नैदानिक ​​सॉफ्टवेयर प्रदान करते हैं।

एक खराब ड्राइव डिस्क स्थान के साथ कैसे खराब हो सकती है, इसका एक उदाहरण के रूप में, मैंने 1TB ड्राइव का समर्थन किया है जो कि विंडोज को रिपोर्ट करता है कि उनके पास अभी भी डेटा का PETABYTES हस्तांतरण करने के लिए शेष है।

इस घटना में कि आपका ड्राइव ठीक है, डु (डिस्क उपयोग) का उपयोग करके देखें कि कौन सा फ़ोल्डर बड़ा है। du -h /usr/bin, du -h /varया du -h /home/[username]/Downloadsइसे इंगित करने में मदद करने के लिए।

संपादित करें: मैंने देखा कि आप ओएस एक्स का उपयोग कर रहे हैं: आपको ऊपर उल्लिखित HDD टूल का उपयोग उनके बूट करने योग्य विकल्पों के रूप में या मुफ्त विंडोज पीई जैसी किसी चीज़ में करने की आवश्यकता होगी, जिसे आप इन टूल को बूट कर सकते हैं और चला सकते हैं।


0

डीकैम्पैपर डॉकर का डिफॉल्ट स्टोरेज इंजन है। यह डिफ़ॉल्ट रूप से / var / lib / docker द्वारा 100Gb का प्रचार करने का प्रयास करता है। इस स्थान का सभी वास्तव में उपयोग नहीं किया गया है, और आप इसे विकल्पों में कॉन्फ़िगर कर सकते हैं। डॉकर डॉक्स

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.