इसलिए, व्यक्तिगत रूप से मैं आपको छवियों और कंटेनरों के लिए अपनी परिनियोजित स्क्रिप्ट के भाग के रूप में करने की सलाह देता हूं, केवल सबसे हाल के n कंटेनरों और छवियों को रखते हुए। मैं अपनी डॉकर छवियों को उसी वर्जनिंग स्कीमा के साथ टैग करता हूं जिसका मैं उपयोग करता हूं और साथ git tag
ही साथ इस नवीनतम के साथ नवीनतम डॉकर चित्र को टैग करता हूं । " इसका मतलब यह है कि कुछ भी साफ किए बिना, मेरी डॉकर छवियां हवा की तरह दिख रही हैं:
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
some_repo/some_image 0.0.5 8f1a7c7ba93c 23 hours ago 925.4 MB
some_repo/some_image latest 8f1a7c7ba93c 23 hours ago 925.4 MB
some_repo/some_image 0.0.4 0beabfa514ea 45 hours ago 925.4 MB
some_repo/some_image 0.0.3 54302cd10bf2 6 days ago 978.5 MB
some_repo/some_image 0.0.2 0078b30f3d9a 7 days ago 978.5 MB
some_repo/some_image 0.0.1 sdfgdf0f3d9a 8 days ago 938.5 MB
अब, निश्चित रूप से मैं अपनी सभी छवियों (या कंटेनरों) को अपने सभी प्रोडक्शन बॉक्स पर हमेशा के लिए वापस नहीं रखना चाहता। मैं सिर्फ रोलबैक के लिए अंतिम 3 या 4 चाहता हूं और बाकी सभी चीजों से छुटकारा चाहता हूं। यहां यूनिक्स tail
आपकी सबसे अच्छी दोस्त है। चूंकि docker images
और docker ps
दोनों तारीख से आदेश देते हैं, हम केवल tail
सभी का चयन कर सकते हैं लेकिन शीर्ष तीन और उन्हें हटा दें:
docker rmi $(docker images -q | tail -n +4)
अपनी तैनाती लिपियों (या स्थानीय रूप से) के साथ चलाएं कि हमेशा बहुत अधिक कमरे लेने या पुरानी छवियों के साथ सामान अव्यवस्थित करने के बिना बस आराम से रोल करने के लिए पर्याप्त चित्र रखें।
व्यक्तिगत रूप से, मैं किसी भी समय अपने उत्पादन बॉक्स पर केवल एक कंटेनर रखता हूं, लेकिन यदि आप अधिक चाहते हैं तो आप कंटेनरों के साथ उसी तरह का काम कर सकते हैं:
docker rm $(docker ps -aq | tail -n +4)
अंत में, मेरे सरलीकृत उदाहरण में हम केवल एक समय में एक रिपॉजिटरी के साथ काम कर रहे हैं, लेकिन अगर आपके पास अधिक था, तो आप बस एक ही विचार के साथ थोड़ा और अधिक परिष्कृत हो सकते हैं। कहो कि मैं बस पिछले तीन छवियों को कुछ_रेपो / some_image से रखना चाहता हूं। मैं बस में मिश्रण कर सकते हैं grep
और awk
मेरे रास्ते में हो सकता है:
docker rmi $(docker images -a | grep 'some_repo/some_image' | awk '{print $3}' | tail -n +4)
फिर से, एक ही विचार कंटेनरों पर लागू होता है, लेकिन आप इसे इस बिंदु से प्राप्त करते हैं, इसलिए मैं उदाहरण देना बंद कर दूंगा।