2017-07-17 10 views
18

डोकर documentation of docker image prune यहडॉकर: एक लटकती हुई छवि क्या है और एक अप्रयुक्त छवि क्या है?

को -एक झंडा उपयोग करने के लिए सभी अप्रयुक्त छवियां निकाल दें, बस लोगों को

और बाद में

सभी झूलते छवियां निकाल दें झूलते नहीं संभव है में। अगर -ए निर्दिष्ट है, तो किसी भी कंटेनर द्वारा संदर्भित सभी छवियों को भी हटा दिया जाएगा।

क्या कोई मुझे बता सकता है कि छवियां क्या हैं और खतरनाक और अप्रयुक्त छवियों के बीच क्या अंतर है?

उत्तर

23

एक अप्रयुक्त छवि का अर्थ है कि इसे किसी कंटेनर में असाइन या उपयोग नहीं किया गया है। उदाहरण के लिए, docker ps -a चलाते समय - यह आपके सभी बहिष्कृत और वर्तमान में चल रहे कंटेनर सूचीबद्ध करेगा। किसी भी कंटेनर के अंदर इस्तेमाल होने वाली कोई भी छवियां "प्रयुक्त छवि" हैं।

दूसरी तरफ, एक लटकती छवि का मतलब है कि आपने छवि का नया निर्माण बनाया है, लेकिन इसे एक नया नाम नहीं दिया गया था। तो आपके पास पुरानी छवियां "लटकती हुई छवि" बन गई हैं। उन पुरानी छवियां हैं जो अनगिनत हैं और docker images चलाते समय अपने नाम पर "<none>" प्रदर्शित करती हैं।

docker system prune -a चलाते समय, यह अप्रयुक्त और लटकती छवियों को हटा देगा। इसलिए किसी भी छवि को कंटेनर में इस्तेमाल किया जा रहा है, चाहे वे बाहर निकले हों या वर्तमान में चल रहे हों, प्रभावित नहीं होंगे।

+0

डॉकर प्रून चलाने के दौरान प्रलेखन के अनुसार-केवल लटकती छवियां हटा दी जाती हैं। -ए यह सुनिश्चित करेगा कि अप्रयुक्त छवियों को भी हटा दिया जाए? https://docs.docker.com/engine/reference/commandline/system_prune/ – herm

+0

यह सही है, -ए [सभी अप्रयुक्त छवियों को हटाकर न केवल लटकते हैं] (https://docs.docker.com/engine/reference/कमांडलाइन/system_prune /) – Serey

+0

बहुत रोचक। तो एक कंटेनर द्वारा एक लटकती छवि का उपयोग किया जा सकता है। [नोट: डॉकर आपको चेतावनी देता है कि क्या कोई कंटेनर मौजूद है जो इन अनगिनत छवियों का उपयोग कर रहे हैं।] (Https://docs.docker.com/engine/reference/commandline/images/#filtering) – herm

7

डॉकर में छवियों को sha256 डाइजेस्ट द्वारा संदर्भित किया जाता है, जिसे अक्सर छवि आईडी के रूप में जाना जाता है। उस पाचन को डॉकर होस्ट पर मौजूद छवि के लिए आवश्यक है। आम तौर पर, आपके पास टैग होंगे जो इन digests को इंगित करते हैं, उदा। टैग व्यस्त बॉक्स: मेरे सिस्टम पर छवि आईडी c30178c523 ... के लिए नवीनतम वर्तमान बिंदु। एकाधिक टैग एक ही छवि को इंगित कर सकते हैं, और किसी भी टैग को एक अलग आईडी पर इंगित करने के लिए बदला जा सकता है, उदा। जब आप व्यस्त बॉक्स की एक नई प्रतिलिपि खींचते हैं: नवीनतम या अपनी एप्लिकेशन छवि का एक नया संस्करण बनाएं।

खतरनाक छवियां ऐसी छवियां हैं जिनके पास टैग नहीं है, और उनके पास कोई बच्चा छवि नहीं है (उदाहरण के लिए एक पुरानी छवि जो FROM busybox:latest के एक अलग संस्करण का उपयोग करती है), उन्हें इंगित करती है। हो सकता है कि उनके पास पहले टैग करने वाला टैग हो और वह टैग बाद में बदल गया हो। या हो सकता है कि उनके पास कभी टैग न हो (उदा। टैग विकल्प सहित बिना docker build का आउटपुट)। ये आमतौर पर तब तक सुरक्षित होते हैं जब तक कोई कंटेनर अभी भी पुरानी छवि आईडी का संदर्भ नहीं दे रहा हो। उन्हें कैशिंग उद्देश्यों के निर्माण के लिए चारों ओर रखने का मुख्य कारण है।

इसके अलावा, आप उन छवियों को डाउनलोड कर सकते हैं जिन्हें आप वर्तमान में कंटेनर (बंद कंटेनर सहित) द्वारा उपयोग नहीं कर रहे हैं। ये छवियों को लटकाने से पूरी तरह से अलग हैं और जब तक आप भविष्य में उनका उपयोग करने की योजना नहीं बनाते हैं, तब तक उन्हें हटाने के लिए सुरक्षित रह सकते हैं या जब आपको आवश्यकता हो तो दूसरी प्रति डाउनलोड करने में कोई फर्क नहीं पड़ता।

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