Computer >> कंप्यूटर >  >> सॉफ्टवेयर >> आभासी मशीन

डॉकर कंटेनर को शुरू/हटाने में समस्या - कैसे ठीक करें

हाल ही में, मैंने डॉकटर के उपयोग पर कुछ दिलचस्प ट्यूटोरियल लिखे हैं, एक साफ-सुथरी तकनीक जो LXC को आनंद के प्यारे बंडल में लपेटती है, और मैं कैसे रखूं, कम ऑटिस्टिक रूप से इच्छुक डेवलपर्स, इंजीनियर और सिस्टम एडमिनिस्ट्रेटर, जो इतने उत्सुक नहीं हैं पायथन उल्टी पर, ओएस-स्तरीय वर्चुअलाइजेशन के चमत्कारों का आनंद लें। लेकिन समस्याएँ हैं।

आज हम जिन दो मुद्दों पर चर्चा करेंगे, वे तब होते हैं जब आप एक नामित कंटेनर शुरू करते हैं, या एक को हटाने का प्रयास करते हैं। अर्थात्, स्क्रीन पर फैंसी अक्षर कुछ इस तरह पढ़ेंगे:"संघर्ष। नाम W पहले से ही कंटेनर XYZ द्वारा उपयोग में है। आपको हटाना होगा ..." और मुसीबत का दूसरा भाग पढ़ता है:"संघर्ष, डिफ़ॉल्ट को दूर नहीं कर सकता कंटेनर का नाम ..." विराम चिह्नों के घोर दुरुपयोग के अलावा, अब हमें यह पता लगाने की आवश्यकता है कि इसे कैसे सुलझाया जाए।

समस्याएं

ठीक है, इसलिए हमारे पास यह मुद्दा है:

डॉकर रन-डी-टी-पी 22-पी 80 --नाम <नाम> <रेपो:टैग>
FATA [0000] डेमन से त्रुटि प्रतिक्रिया:संघर्ष। "XYZ" नाम पहले से ही कंटेनर हेक्साकोड द्वारा उपयोग में है। उस नाम का पुन:उपयोग करने में सक्षम होने के लिए आपको उस कंटेनर को हटाना होगा (या उसका नाम बदलना होगा)।

हम कंटेनर प्रारंभ नहीं कर सकते, क्योंकि नाम पहले से ही उपयोग में है। डॉकर पीएस कमांड चलाएं, आप इसे वहां नहीं देख पाएंगे। इसके अलावा यदि आप अपमानजनक कंटेनर बचे हुए को मारने या हटाने का प्रयास करते हैं, तो आपको यह मिलता है:

डॉकर आरएम --लिंक <नाम>
डेमन से त्रुटि प्रतिक्रिया:संघर्ष, कंटेनर का डिफ़ॉल्ट नाम नहीं हटा सकता
FATA [0000] त्रुटि:एक या अधिक कंटेनरों को हटाने में विफल

एक मृत अंत की तरह लगता है। तो अब क्या?

समाधान

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

हम समस्या को दो तरीकों से ठीक कर सकते हैं। हम सबसे पहले कृपालु से शुरुआत करेंगे। यदि आप docker ps कमांड चलाते हैं, तो आप अपने पुराने कंटेनर नहीं देख पाएंगे, क्योंकि वे वास्तव में नहीं चल रहे हैं। लेकिन अगर आप -a झंडे के साथ docker os कमांड चलाते हैं, तो आपको अपने सभी कंटेनर चलाने का इतिहास देखना चाहिए:

असामान्य रूप से बाहर निकलने वाले कंटेनरों में गैर-शून्य स्थिति कोड होगा। उनके नाम के आधार पर उन्हें खोजें जिनकी आपको आवश्यकता है, और उन्हें वास्तविक हेक्साडेसिमल कोड का उपयोग करके हटा दें, उदाहरण:

डॉकर आरएम 85c2981e63f6 26ea04f41ab3

दूसरी विधि मैन्युअल रूप से बची हुई फ़ाइलों को अंडर / var से हटाना है। विशेष रूप से, फ़ाइलें /var/lib/docker/containers/ के अंतर्गत पाई जा सकती हैं। प्रत्येक कंटेनर निर्देशिका में एक बहुत लंबा हैश पहचानकर्ता होगा, और इसके अंदर, बदसूरत JSON आउटपुट के टन होंगे। यदि आप किसी विशेष स्ट्रिंग की खोज करते हैं जो आपके वांछित कंटेनर नाम से मेल खाता है, तो आपको प्रासंगिक निर्देशिका मिल जाएगी जो इसकी कॉन्फ़िगरेशन फ़ाइलों को रखती है।

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

systemctl डॉकर को पुनरारंभ करें

और आपको उठकर दौड़ना चाहिए, बूढ़ा लड़का!

निष्कर्ष

कुछ समस्याएं वास्तव में कष्टप्रद हो सकती हैं, खासकर जब वे इस बात से संबंधित हों कि सेवाएं कितनी अच्छी तरह और मजबूती से क्रैश, रिबूट और इस तरह से संभालती हैं। मुझे नापसंद है जब बची हुई फाइलें इतना दुख देती हैं। ऐसा नहीं होना चाहिए, और सेवाओं को शानदार ढंग से ठीक होना चाहिए। लेकिन हे, कंटेनर अभी भी एक युवा तकनीक है, इसलिए इस तरह की चीजें अपेक्षित हैं।

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

प्रोत्साहित करना।

  1. Windows 10 अद्यतन समस्याओं को कैसे ठीक करें।

    इस समस्या निवारण मार्गदर्शिका में उपयोगकर्ताओं को Windows 10 अपडेट समस्याओं को ठीक करने में मदद करने के लिए कई तरीके हैं जैसे कि अपडेट डाउनलोड करने या इंस्टॉल करने के दौरान त्रुटियां या अन्य समस्याएं जो विंडोज 10 को नवीनतम संस्करण (बिल्ड) में अपग्रेड करते समय हो सकती हैं। कई विंडोज 10 पीसी मालिकों

  1. Windows 10 पर ब्लूटूथ समस्याओं को कैसे ठीक करें

    ब्लूटूथ आपको विंडोज 10 डिवाइस और एक्सेसरीज को बिना वायर के अपने पीसी से कनेक्ट करने की सुविधा देता है। अधिकांश समय, ब्लूटूथ विंडोज 10 में अच्छी तरह से काम करता है। हालांकि, अगर ऐसा नहीं होता है, तो आप अपने विंडोज 10 पीसी पर ब्लूटूथ कनेक्शन के समस्या निवारण के लिए यहां कदम उठा सकते हैं। 1. जांचें कि

  1. Windows 10 स्टोर की समस्याओं को कैसे ठीक करें

    The Windows Store आपके कंप्यूटर पर Microsoft एप्लिकेशन प्राप्त करने का आधिकारिक ऑनलाइन बाज़ार है। कभी-कभी, आपको स्टोर का उपयोग करते समय या वहां ऐप्स के साथ समस्याओं का सामना करना पड़ सकता है। आज, हम Windows 10 Store समस्याओं को ठीक करने के 5 सर्वोत्तम तरीके सुझाने जा रहे हैं : 1. समस्यानिवारक: किसी