एंड्रॉयड

डॉकटर कंटेनर, चित्र, वॉल्यूम और नेटवर्क कैसे निकालें

तांबा टी / आईयूडी के साथ मासिक धर्म कप; डॉक्टरों राय

तांबा टी / आईयूडी के साथ मासिक धर्म कप; डॉक्टरों राय

विषयसूची:

Anonim

डॉकर आपको पोर्टेबल, आत्मनिर्भर कंटेनरों के रूप में अनुप्रयोगों को जल्दी से बनाने, परीक्षण करने और तैनात करने की अनुमति देता है जो लगभग कहीं भी चल सकते हैं।

जब तक आप स्पष्ट रूप से ऐसा करने के लिए नहीं कहते हैं, डोकर कंटेनर, चित्र, वॉल्यूम और नेटवर्क जैसी अप्रयुक्त वस्तुओं को नहीं हटाता है। जैसा कि आप डॉकर के साथ काम करते हैं, आप बड़ी संख्या में अप्रयुक्त वस्तुओं को आसानी से जमा कर सकते हैं जो महत्वपूर्ण डिस्क स्थान का उपभोग करते हैं और डॉकर कमांड द्वारा उत्पादित आउटपुट को अव्यवस्थित करते हैं।

यह मार्गदर्शिका एक "चीट शीट" के रूप में कार्य करती है, ताकि डॉक उपयोगकर्ताओं को अपने सिस्टम को व्यवस्थित रखने में मदद मिल सके, और अप्रयुक्त डॉकटर कंटेनर, चित्र, वॉल्यूम और नेटवर्क को हटाकर डिस्क स्थान को मुक्त किया जा सके।

सभी अप्रयुक्त वस्तुओं को हटाना

docker system prune कमांड सभी बंद किए गए कंटेनरों, सभी झूलने वाली छवियों और सभी अप्रयुक्त नेटवर्क को हटा देगा:

docker system prune

आपको संकेत देने के लिए संकेत दिया जाएगा, प्रॉम्प्ट को बायपास करने के लिए -f या --force ध्वज का उपयोग करें।

WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all dangling images - all build cache Are you sure you want to continue?

docker system prune --volumes

WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all volumes not used by at least one container - all dangling images - all build cache Are you sure you want to continue? y

डॉकटर कंटेनरों को हटाना

जब तक आप कंटेनर को प्रारंभ नहीं करते हैं, जब तक आप --rm ध्वज का उपयोग करके कंटेनर को प्रारंभ नहीं करते हैं तब --rm कंटेनर स्वचालित रूप से हटाए नहीं जाते हैं

एक या अधिक कंटेनर निकालें

एक या एक से अधिक डॉकर छवियों को हटाने के लिए आप जिस कंटेनर को निकालना चाहते हैं, उसके आईडी के बाद docker container rm कमांड का उपयोग करें।

आप docker container ls कमांड को -a फ्लैग पास करके सभी कंटेनरों की सूची प्राप्त कर सकते हैं:

docker container ls -a

आउटपुट कुछ इस तरह दिखना चाहिए:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cc3f2ff51cab centos "/bin/bash" 2 months ago Created competent_nightingale cd20b396a061 solita/ubuntu-systemd "/bin/bash -c 'exec …" 2 months ago Exited (137) 2 months ago systemd fb62432cf3c1 ubuntu "/bin/bash" 3 months ago Exited (130) 3 months ago jolly_mirzakhani

एक बार जब आप उन CONTAINER ID की CONTAINER ID जान लेते हैं, जिन्हें आप हटाना चाहते हैं, तो उसे docker container rm कमांड में पास करें। उदाहरण के लिए, ऊपर दिए गए आउटपुट में सूचीबद्ध पहले दो कंटेनरों को हटाने के लिए:

docker container rm cc3f2ff51cab cd20b396a061

Error response from daemon: You cannot remove a running container fc983ebf4771d42a8bd0029df061cb74dc12cb174530b2036987575b83442b47. Stop the container before attempting removal or force remove.

सभी बंद कंटेनरों को निकालें

निष्कासन कमांड निष्पादित करने से पहले, आप सभी गैर-चल रहे (रुके हुए) कंटेनरों की सूची प्राप्त कर सकते हैं जिन्हें निम्नलिखित कमांड का उपयोग करके हटाया जाएगा:

docker container ls -a --filter status=exited --filter status=created

सभी बंद कंटेनरों को हटाने के लिए docker container prune कमांड का उपयोग करें:

docker container prune

आपको संकेत देने के लिए संकेत दिया जाएगा, प्रॉम्प्ट को बायपास करने के लिए -f या --force ध्वज का उपयोग करें।

WARNING! This will remove all stopped containers. Are you sure you want to continue? y

फ़िल्टर का उपयोग करके कंटेनर निकालें

docker container prune कमांड आपको फ़िल्टरिंग फ़्लैग --filter का उपयोग करके स्थिति के आधार पर कंटेनरों को निकालने की अनुमति देता है।

इस लेख के लेखन के समय, वर्तमान में समर्थित फ़िल्टर्स until और label । आप एक से अधिक फिल्टर का उपयोग कई --filter झंडे का उपयोग करके कर सकते हैं।

उदाहरण के लिए, 12 घंटे से अधिक पहले बनाई गई सभी छवियों को हटाने के लिए, रन करें:

docker container prune --filter "until=12h"

सभी कंटेनरों को रोकें और निकालें

आप अपने सिस्टम पर docker container ls -aq कमांड का उपयोग करके सभी docker container ls -aq एक सूची प्राप्त कर सकते हैं।

सभी चल रहे कंटेनरों को रोकने के लिए सभी कंटेनर ID की सूची के बाद docker container stop कमांड का उपयोग करें।

docker container stop $(docker container ls -aq)

एक बार जब सभी कंटेनरों को रोक दिया जाता है, तो आप कंटेनर आईडी सूची के बाद docker container rm कमांड का उपयोग करके उन्हें हटा सकते हैं।

docker container rm $(docker container ls -aq)

डॉकटर छवियां निकालना

एक या अधिक छवियां निकालें

एक या एक से अधिक डॉकर चित्रों को हटाने के लिए आप जिन छवियों को हटाना चाहते हैं, उनकी आईडी खोजने के लिए docker images ls कमांड का उपयोग करें।

docker image ls

आउटपुट कुछ इस तरह दिखना चाहिए:

REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 75835a67d134 7 days ago 200MB ubuntu latest 2a4cca5ac898 2 months ago 111MB linuxize/fedora latest a45d6dca3361 3 months ago 311MB java 8-jre e44d62cf8862 3 months ago 311MB

एक बार जब आप उन छवियों को स्थित कर लेते हैं, जिन्हें आप निकालना चाहते हैं, तो अपनी IMAGE ID को docker image rm कमांड में पास करें। उदाहरण के लिए, ऊपर दिए गए आउटपुट में सूचीबद्ध पहले दो चित्रों को हटाने के लिए:

docker image rm 75835a67d134 2a4cca5ac898

Error response from daemon: conflict: unable to remove repository reference "centos" (must force) - container cd20b396a061 is using its referenced image 75835a67d134

झूलने वाली छवियां निकालें

डॉकर एक docker image prune कमांड प्रदान करता है जिसका उपयोग डेंजर और अप्रयुक्त छवियों को हटाने के लिए किया जा सकता है।

झूलने वाली छवि एक छवि है जिसे टैग नहीं किया गया है और किसी भी कंटेनर द्वारा उपयोग नहीं किया जाता है। झूलने वाली छवियों को हटाने के लिए टाइप करें:

docker image prune

आपको संकेत देने के लिए संकेत दिया जाएगा, प्रॉम्प्ट को बायपास करने के लिए -f या --force ध्वज का उपयोग करें।

WARNING! This will remove all dangling images. Are you sure you want to continue? y झूलने वाली छवियों को हटाते समय, यदि आपके द्वारा बनाई गई छवियों को टैग नहीं किया जाता है, तो उन्हें भी हटा दिया जाएगा।

सभी अप्रयुक्त छवियों को हटा दें

उन सभी छवियों को हटाने के लिए जिन्हें किसी भी मौजूदा कंटेनर द्वारा संदर्भित नहीं किया गया है, न कि केवल झूलने वाले, -a ध्वज के साथ prune कमांड का उपयोग करें:

docker image prune -a

WARNING! This will remove all images without at least one container associated to them. Are you sure you want to continue? y

फ़िल्टर का उपयोग करके छवियां निकालें

--filter कमांड के साथ, आप फ़िल्टरिंग फ़्लैग - फ़िल्टर का उपयोग करके एक निश्चित स्थिति के आधार पर छवियों को हटा सकते हैं।

इस लेख के लेखन के समय, वर्तमान में समर्थित फ़िल्टर्स until और label । आप एक से अधिक फिल्टर का उपयोग कई --filter झंडे का उपयोग करके कर सकते हैं।

उदाहरण के लिए, 12 घंटे से अधिक पहले बनाई गई सभी छवियों को निकालने के लिए, आप दौड़ेंगे:

docker image prune -a --filter "until=12h"

डॉकर वॉल्यूम निकाल रहा है

एक या अधिक वॉल्यूम निकालें

एक या एक से अधिक डॉकर वॉल्यूम को हटाने के लिए आप जिस वॉल्यूम को निकालना चाहते हैं, उसकी आईडी ढूंढने के लिए docker volume ls कमांड का उपयोग करें।

docker volume ls

आउटपुट कुछ इस तरह दिखना चाहिए:

DRIVER VOLUME NAME local 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163 local terano

एक बार जब आप जिन VOLUME NAME को निकालना चाहते हैं, उन सभी का docker volume rm VOLUME NAME प्राप्त कर लें, उन्हें docker volume rm कमांड पर पास कर दें। उदाहरण के लिए, ऊपर दिए गए आउटपुट में सूचीबद्ध पहला वॉल्यूम हटाने के लिए:

docker volume rm 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163

Error response from daemon: remove 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163: volume is in use -

सभी अप्रयुक्त वॉल्यूम निकालें

सभी अप्रयुक्त संस्करणों को निकालने के लिए docker image prune कमांड का उपयोग करें:

docker volume prune

आपको संकेत देने के लिए संकेत दिया जाएगा, प्रॉम्प्ट को बायपास करने के लिए -f या --force ध्वज का उपयोग करें।

WARNING! This will remove all local volumes not used by at least one container. Are you sure you want to continue?

डॉकटर नेटवर्कों को हटाना

एक या अधिक नेटवर्क निकालें

एक या एक से अधिक डॉकर नेटवर्क को हटाने के लिए आप जिस नेटवर्क को हटाना चाहते हैं, उसकी आईडी ढूंढने के लिए docker network ls कमांड का उपयोग करें।

docker network ls

आउटपुट कुछ इस तरह दिखना चाहिए:

NETWORK ID NAME DRIVER SCOPE 107b8ac977e3 bridge bridge local ab998267377d host host local c520032c3d31 my-bridge-network bridge local 9bc81b63f740 none null local

एक बार जब आप उन नेटवर्क पर स्थित हो जाते हैं, जिन्हें आप निकालना चाहते हैं, तो उनके NETWORK ID को docker network rm कमांड पर पास करें। उदाहरण के लिए my-bridge-network रन नाम के साथ नेटवर्क को हटाने के लिए:

docker network rm c520032c3d31

Error response from daemon: network my-bridge-network id 6f5293268bb91ad2498b38b0bca970083af87237784017be24ea208d2233c5aa has active endpoints

सभी अप्रयुक्त नेटवर्क को हटा दें

सभी अप्रयुक्त नेटवर्क को हटाने के लिए docker network prune कमांड का उपयोग करें।

docker network prune

आपको संकेत देने के लिए संकेत दिया जाएगा, प्रॉम्प्ट को बायपास करने के लिए -f या --force ध्वज का उपयोग करें।

WARNING! This will remove all networks not used by at least one container. Are you sure you want to continue?

फ़िल्टर का उपयोग करके नेटवर्क निकालें

--filter नेटवर्क --filter कमांड से आप फ़िल्टरिंग फ़्लैग - फ़िल्टर का उपयोग करके शर्त के आधार पर नेटवर्क को हटा सकते हैं।

इस लेख के लेखन के समय, वर्तमान में समर्थित फ़िल्टर्स until और label । आप कई --filter झंडे का उपयोग करके एक से अधिक फ़िल्टर का उपयोग कर सकते हैं।

उदाहरण के लिए, 12 घंटे से अधिक पहले बनाए गए सभी नेटवर्क को निकालने के लिए, रन करें:

docker network prune -a --filter "until=12h"

निष्कर्ष

इस गाइड में, हमने आपको डॉकटर कंटेनर, चित्र, वॉल्यूम और नेटवर्क को हटाने के लिए कुछ सामान्य आदेश दिखाए हैं।

आपको आधिकारिक डॉकर प्रलेखन की भी जांच करनी चाहिए।

डाक में काम करनेवाला मज़दूर