2016-06-30 8 views
20

के साथ छवि को नष्ट नहीं कर सकते हैं कि मैं कोशिश कर रहा हूँबच्चों

docker rmi c565603bc87f 

त्रुटि:

Error response from daemon: conflict: unable to delete c565603bc87f (cannot be forced) - image has dependent child images

तो मैं भी -f ध्वज के साथ छवि नहीं हटा सकते। तब छवि और उसके सभी बच्चों को कैसे हटाएं?

लिनक्स और डोकर संस्करण:

uname -एक लिनक्स goracio-पीसी 4.4.0-24-जेनेरिक # 43-उबंटू SMP बुध जून 8 19:27:37 यूटीसी 2016 x86_64 x86_64 x86_64 जीएनयू/लिनक्स

डोकर संस्करण ग्राहक: संस्करण: 1.11.2 API वर्शन: 1.23 जाओ संस्करण: go1.5.4 Git प्रतिबद्ध: b9f10c9 निर्मित: बुध जून 1 22:00:43 2016 ओएस/आर्क: linux/amd64

सर्वर: संस्करण: 1.11.2 API वर्शन: 1.23 जाओ संस्करण: go1.5.4 Git प्रतिबद्ध: b9f10c9 निर्मित: बुध जून 1 22:00:43 2016 ओएस/आर्क: linux/amd64

+0

शायद इस एक मदद कर सकता है: https://gist.github.com/Siva-Charan/db7bd84ad2ca2b0779d87a75e6bb4176 –

उत्तर

10

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

उसके बाद:

आप छवि को हटाने से पहले अनावश्यक चित्रों को निकालने का प्रयास करना चाहिए

docker rmi c565603bc87f 
+3

किसी भी झूलने छवियों रहे हैं ... डॉकर छवियां -f dangling = true -> कुछ भी नहीं – Roman

+2

यह उत्तर एक अलग प्रश्न का उत्तर दे रहा है "मैं लटकती छवियों को कैसे हटा सकता हूं?" ओपी का सवाल है "मैं निर्भर छवियों को कैसे हटा सकता हूं?" – tudor

+1

लटकती छवियों को हटाने के लिए, बस 'prune' – Deqing

2

इस सवाल का जवाब यहाँ सब वंशज बच्चों, जो एक जवाब यहाँ है मिल रहा है:

docker how can I get the list of dependent child images?

तब का उपयोग इसी क्रम में बच्चे चित्रों को निकालने का।

मैं इस जवाब को और अधिक समझने के लिए वापस आऊंगा और बाद में एक स्क्रिप्ट प्रदान करूंगा।

+6

का उपयोग करें क्या आपने अभी तक इस स्क्रिप्ट को फ़्लश किया है? –

4

छवि आईडी और निम्नलिखित के साथ विचाराधीन छवि के बाद बनाए गए सभी छवि के लिए पैरेंट आईडी लगता है:

docker inspect --format='{{.Id}} {{.Parent}}' $(docker images --filter since=<image_id> -q) 

तो फिर तुम फोन आदेश:

docker rmi {sub_image_id} 

"sub_image_id" की आईडी है आश्रित छवि

1

मुझे यह समस्या भी मिली, मैं नीचे दिए गए आदेशों के साथ समस्या का समाधान कर सकता हूं।यह कारण हो सकता है, छवि का कंटेनर चल रहा है या बाहर निकलने से पहले छवि को हटाने से पहले आपको कंटेनर

डॉकर ps -a -f स्थिति = निकाला गया: यह आदेश सभी बाहर निकलने वाले कंटेनर दिखाता है ताकि फिर कंटेनर आईडी कॉपी करें और फिर चलाएं नीचे कंटेनर

डोकर rm #containerId दूर करने के लिए आदेश: इस आदेश को निकालने के कंटेनर इस मुद्दे का उल्लेख

फिर आदेश

डोकर RMI # नीचे के साथ छवि दूर करने की कोशिश "छवि निर्भर बच्चे छवियों है" हो सकता है ImageId

0

फोर्स चित्रों की सूची को हटाने (exclure संस्करण 10, उदाहरण के लिए)

docker images | grep version | grep -v version10 > images.txt && for img in $(awk -F" " '{print $3}' /root/images.txt) ; do docker rmi -f $img; done

संबंधित मुद्दे