docker devmapper और CentOS7 पर अंतरिक्ष मुद्दा


103

मैं डॉक सीख रहा हूं और मैं v1.11.0 का उपयोग कर रहा हूं मैं हडूप स्थापित करने की कोशिश कर रहा हूं, लेकिन डेमपर फ्री डिस्क स्थान के बारे में शिकायत कर रहा है?

devmapper: Thin Pool has 82984 free data blocks which is less than minimum required 163840 free data blocks. Create more free space in thin pool or use dm.min_free_space option to change behavior

मैंने अपनी सभी छवियां हटा दी हैं, लेकिन समस्या बनी हुई है:

[root@localhost hadoop_docker]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
debian              latest              47af6ca8a14a        3 weeks ago         125 MB
[root@localhost hadoop_docker]#

और यह मेरी डिस्क कॉन्फ़िगरेशन है:

[root@localhost ~]# lsblk
NAME                       MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                          8:0    0    8G  0 disk
├─sda1                       8:1    0  500M  0 part /boot
└─sda2                       8:2    0  7.5G  0 part
  ├─centos-root            253:0    0  6.7G  0 lvm  /
  └─centos-swap            253:1    0  820M  0 lvm  [SWAP]
sr0                         11:0    1 1024M  0 rom
loop0                        7:0    0  100G  0 loop
└─docker-253:0-844682-pool 253:2    0  100G  0 dm
loop1                        7:1    0    2G  0 loop
└─docker-253:0-844682-pool 253:2    0  100G  0 dm

प्रश्न: मैं डिस्क स्थान को कैसे मुक्त कर सकता हूं?

धन्यवाद


1
क्या यह लूपबैक अपरिवर्तनीय भंडारण मुद्दों में डेविसेमर से भी संबंधित है? github.com/docker/docker/issues/3182 "devicemapper उत्पादन के उपयोग के लिए अनुशंसित नहीं है"। कुछ कारणों के लिए डेविसेमर से बेहतर कदम। मुझे ओवरले स्टोरेज ड्राइवर, YMMV के लिए स्विच करना काफी आसान लगा, लेकिन उम्मीद है कि बहुत ज्यादा नहीं। स्विच करते समय 'rm -rf / var / lib / docker' कुछ वैकल्पिक है लेकिन आसान है और मैं इसकी अत्यधिक अनुशंसा करता हूँ। projectatomic.io/blog/2015/06/…
gaoithe

1
FYI करें, आप " sudo lvs" के साथ पतले पूल डिस्क का उपयोग देख सकते हैं । यह तब मदद करता है जब आप यह पता लगाने की कोशिश कर रहे हैं कि "कितना" डिस्क स्थान आपको साफ करने की आवश्यकता है (दिए गए उत्तरों का उपयोग करके)।
एरॉन डी। मैरास्को

जवाबों:


28

आप उपयोग कर सकते हैं:

docker system prune -a -f --volumes

कहाँ पे:

  • -a == सभी अप्रयुक्त छवियों को हटा देता है
  • -फ == बल
  • --वोल्यूम == प्रून वॉल्यूम।

देखें: https://docs.docker.com/engine/reference/commandline/system_prune/#description

एक साइड नोट के रूप में, मेरे पास बहुत सारे मुद्दे थे जब मैंने अपने वातावरण पर डेविक्मेपर ड्राइवर का उपयोग किया था। जैसा कि मैंने उल्लेख किया था, मैं साफ करता था, लेकिन अभी भी अन्य डेविमेपर मुद्दे थे। मैं दृढ़ता से ओवरले 2 में जाने की सलाह देता हूं, इसने लगभग पूरी तरह से सब कुछ हल कर दिया।


1
हम नियमित रूप से @ कोकोदा-राका के उत्तर में कमांड चलाते हैं, लेकिन एक विशेष डॉकटर होस्ट के लिए, यह कमांड आवश्यक था जब ओवरली 2 डिस्क स्थान की एक महत्वपूर्ण मात्रा का उपयोग कर रहा था, इससे अधिक होना चाहिए। मुझे लगता है कि मैं इस कमांड को हमारे स्वचालित क्लीन-अप कार्यों में भी जोड़ दूंगा।
StockB

1
यह डॉकटर 1.13.1 के साथ आरएचईएल 7 पर मदद करता है। चलाने के बाद docker container prune, docker image prune, docker volume prune, हम अभी भी devmapper / पतला पूल त्रुटि मिली। उपरोक्त कमांड ने काम किया, आवश्यक स्थान को खाली कर दिया और डेमॉन को पुनरारंभ करने की आवश्यकता को समाप्त कर दिया।
जॉनथन एलमोर

167

बस इन तीनों को चलाओ। रनिंग कंटेनरों को हटाने की आवश्यकता नहीं है।

  1. क्लीनअप एक्साइटेड प्रॉसेस:

    docker rm $(docker ps -q -f status=exited)
    
  2. क्लीनअप झूलने वाले वॉल्यूम:

    docker volume rm $(docker volume ls -qf dangling=true)
    
  3. सफाई झूलने छवियों:

    docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
    

4
मैंने इसे यहां से सीखा: stackoverflow.com/questions/32723111/…
कोकॉर्ड राका

19

1
यह संभवतः स्वीकृत उत्तर होना चाहिए। अन्य उत्तर संभावित रूप से अधिक कंटेनरों को मार सकते हैं जितना आप मारना चाहते हैं।
DigitalFiz

2
यह कमांड मशीन के डिस्क को साफ करने में बहुत मददगार होते हैं, लेकिन डेविक्मेपर और स्पेस के साथ समस्या को ठीक नहीं करते हैं।
पाउलो ओलिवेरा

4
मुझे अभी भी समझ में नहीं आया कि "क्या" इस त्रुटि संदेश का अर्थ है, इसलिए यहां तक ​​कि अगर वे कमांड काम करते हैं तो मैं पूरी तरह से समझ नहीं पाऊंगा कि क्यों। "पतला पूल" क्या है? और बाहर निकलने की प्रक्रियाओं का "डेटा ब्लॉक को मुक्त" करने के लिए क्या करना है?
यति
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.