
एक क्रैश किया हुआ कंटेनर पकड़ना आसान है। एक कंटेनर जो चलता रहता है जबकि इसके अंदर का ऐप डेडलॉक है - वह है जो शुक्रवार की शाम को खर्च करता है। Docker की अंतर्निहित रीस्टार्ट पॉलिसी प्लस हेल्थ चेक रक्षा की पहली पंक्ति है, और इसके चारों ओर के उपकरण (ऑटो-हील वॉचडॉग, इमेज अपडेटर, डैशबोर्ड) कारण हैं कि होमलैब विजिट के बीच ऊपर रहता है। Docker कंटेनर रीस्टार्ट पॉलिसीज के लिए सर्वश्रेष्ठ ऐप्स वे हैं जो उस संयोजन को बोरिंग बनाते हैं, जो बिल्कुल लक्ष्य है।
हमने आठ उपकरण चुने हैं जो एक साथ सेटअप को कवर करते हैं: पॉलिसी कैसे घोषित करें, हैंग किए गए कंटेनर को कैसे पकड़ें, ब्राउज़र से सब कुछ कैसे देखें, और मध्य रात के आश्चर्य के बिना इमेज को कैसे वर्तमान रखें।
कंटेनर-रीस्टार्ट टूल में क्या देखें
चाहे यह Docker के साथ बंडल किया गया हो या अलग से जोड़ा गया हो, एक उपयोगी टूल के पास है:
- एक स्पष्ट घोषणा कि रीस्टार्ट का मतलब क्या है: विफलता पर, गैर-शून्य निकास पर, हमेशा, unless-stopped। उस पॉलिसी को भ्रमित करने से अधिक आउटेज हुए हैं जितना कंटेनर जो वह सुरक्षा करता है।
- हेल्थ चेक जिस पर टूल कार्य कर सकता है, केवल रिपोर्ट नहीं। रिपोर्टिंग एक मॉनिटर है। रीस्टार्ट एक फिक्स है।
- एक सिंगल डैशबोर्ड या CLI व्यू जो “कौन से कंटेनर आज व्यवहार कर रहे हैं” का जवाब दे।
- अपडेट हैंडलिंग जो कंटेनर प्रति opt-in है और आपको उन्हें पिन करने देता है जो हिलना नहीं चाहिए।
- होस्ट रीबूट पर शून्य आश्चर्य। Compose फाइलें और रीस्टार्ट पॉलिसीज को पावर साइकल के बाद वैसी ही स्थिति में कंपोज करना चाहिए जैसी पहले थी।
नीचे दिए गए आठ उपकरण साफ-सुथरे स्टैक करते हैं। जो आपके स्टैक में अभी नहीं हैं उन्हें चुनें।
त्वरित तुलना
| ऐप | सर्वश्रेष्ठ के लिए | डिप्लॉय शेप | लागत |
|---|---|---|---|
| Docker Compose | पॉलिसी घोषित करना | CLI + YAML | मुफ़्त |
| Willfarrell Autoheal | अस्वस्थ कंटेनर रीस्टार्ट करना | Sidecar कंटेनर | मुफ़्त, open-source |
| Watchtower | इमेज ऑटो-अपडेट करना | Sidecar कंटेनर | मुफ़्त, open-source |
| Portainer | रीस्टार्ट कंट्रोल के साथ वेब डैशबोर्ड | Web UI कंटेनर | मुफ़्त CE, भुगतान Business |
| Dockge | Compose-पहली वेब UI | Web UI कंटेनर | मुफ़्त, open-source |
| Diun | अपडेट नोटिफिकेशन, ऑटो-पुल के बिना | Sidecar कंटेनर | मुफ़्त, open-source |
| Uptime Kuma | कंटेनर गायब होने पर अलर्ट | Web UI कंटेनर | मुफ़्त, open-source |
| Ouroboros | Alt ऑटो-अपडेटर | Sidecar कंटेनर | मुफ़्त, open-source |
1. Docker Compose, पॉलिसी घोषित करने के लिए सर्वश्रेष्ठ
Docker Compose वह जगह है जहां पॉलिसी वास्तव में रहती है। docker-compose.yml फाइल में restart: unless-stopped, प्लस हेल्थचेक ब्लॉक, Docker को सेवा को ऊपर रखने के लिए आवश्यक दो टुकड़े देता है। वर्तमान Docker CLI में Compose तेज़ और स्थिर है, और Compose फाइलों से भरी एक repo इस सूची के सभी अन्य उपकरणों द्वारा पढ़ा जाने वाला एकमात्र सत्य स्रोत है।
जहां यह कम पड़ता है: Compose अस्वस्थ स्थिति पर कार्य नहीं करता। एक कंटेनर जिसे अस्वस्थ चिह्नित किया गया है, तब तक चलता रहेगा जब तक एक अलग वॉचडॉग इसे रीस्टार्ट न करे। वह वह अंतर है जो Autoheal भरता है।
मूल्य निर्धारण:
- Docker Desktop और Docker Engine के साथ मुफ़्त।
प्लेटफॉर्म: Windows, Linux, macOS।
डाउनलोड: docs.docker.com/compose
निष्कर्ष: बेस लेयर। इस सूची के बाकी हिस्से में हर रीस्टार्ट-पॉलिसी कहानी नीचे एक Compose फाइल मानती है।
2. Willfarrell Autoheal, अस्वस्थ कंटेनर रीस्टार्ट के लिए सर्वश्रेष्ठ
Autoheal एक सिंगल-कंटेनर साइडकार है जो Docker के अपने हेल्थ API को पोल करता है और किसी भी कंटेनर को रीस्टार्ट करता है जो एक थ्रेसहोल्ड से अधिक समय के लिए अस्वस्थ चिह्नित किया गया है। कंटेनर प्रति opt-in एक सिंपल लेबल के साथ। सेटअप एक सिंगल Compose सेवा है।
जहां यह कम पड़ता है: यह केवल Docker के अपने हेल्थचेक सिग्नल पर प्रतिक्रिया करता है। यदि कंटेनर को कभी अस्वस्थ चिह्नित नहीं किया गया क्योंकि ऐप का हेल्थचेक गलत है, Autoheal मदद नहीं कर सकता।
मूल्य निर्धारण:
- मुफ़्त, open-source।
प्लेटफॉर्म: कोई भी Docker होस्ट (Linux, Windows, macOS)।
डाउनलोड: github.com/willfarrell/docker-autoheal
निष्कर्ष: लापता टुकड़ा। हर होमलैब और छोटे प्रोडक्शन स्टैक को Compose के बगल में यह चलाना चाहिए।
3. Watchtower, इमेज ऑटो-अपडेट के लिए सर्वश्रेष्ठ
Watchtower उस टैग को देखता है जिसे आपने डिप्लॉय किया है और, जब अपस्ट्रीम इमेज चल गई है, नई इमेज को पुल करता है और कंटेनर को रीस्टार्ट करता है। प्रति लेबल कॉन्फ़िगर करने योग्य, इसलिए एक डेटाबेस पिन रहकर एक स्टैटिक साइट ऑटो-अपडेट कर सकता है। नोटिफिकेशन Slack, Discord, या webhook में आते हैं।
जहां यह कम पड़ता है: ऑटो-अपडेट एक दोधारी तलवार है। महत्वपूर्ण कंटेनर पिन करें (डेटाबेस, स्कीमा माइग्रेशन वाली कोई चीज़); पत्तियों को ऑटो-अपडेट होने दें।
मूल्य निर्धारण:
- मुफ़्त, open-source।
प्लेटफॉर्म: कोई भी Docker होस्ट।
डाउनलोड: containrrr.dev/watchtower
निष्कर्ष: डिफ़ॉल्ट ऑटो-अपडेटर; इसे लेबल के साथ उपयोग करें, “सब कुछ अपडेट करें” मोड नहीं।
4. Portainer, रीस्टार्ट कंट्रोल के साथ वेब डैशबोर्ड के लिए सर्वश्रेष्ठ
Portainer वह Docker वेब UI है जिस पर अधिकांश स्व-होस्टर समाप्त होते हैं। यह हर कंटेनर को सूचीबद्ध करता है, हेल्थ और रीस्टार्ट स्थिति दिखाता है, प्रत्येक के लिए रीस्टार्ट बटन को प्रकट करता है, और Compose स्टैक प्रबंधन का समर्थन करता है। Community Edition मुफ़्त है और एक होमलैब को कवर करता है; Business भूमिका-आधारित एक्सेस और मल्टी-क्लस्टर को अनलॉक करता है।
जहां यह कम पड़ता है: यह एक सिंगल-होस्ट स्टैक के लिए बहुत सारा UI है। यदि आपका सेटअप एक मशीन है, Dockge हल्का है।
मूल्य निर्धारण:
- मुफ़्त (Community Edition)।
- Business बड़े डिप्लॉयमेंट के लिए एक भुगतान की गई सदस्यता है।
प्लेटफॉर्म: कोई भी Docker होस्ट।
डाउनलोड: portainer.io
निष्कर्ष: कई होस्ट चलाने वाले या मेहमानों के लिए असली डैशबोर्ड चाहने वाले किसी के लिए सर्वश्रेष्ठ पिक।
5. Dockge, Compose-पहली ब्राउजिंग के लिए सर्वश्रेष्ठ
Dockge Compose फाइलों को प्रथम-श्रेणी के रूप में मानता है। यह YAML को जगह पर संपादित करता है, जब आप सहेजते हैं तो स्टैक को रीस्टार्ट करता है, और कंटेनर स्थिति को इनलाइन दिखाता है। यदि Portainer सिंगल-होस्ट सेटअप के लिए भारी लगता है, तो Dockge वह है जिससे इसे बदलें।
जहां यह कम पड़ता है: सिंगल-नोड फोकस; कोई मल्टी-होस्ट प्रबंधन नहीं। नया प्रोजेक्ट, लेकिन वर्तमान रिलीज में स्थिर।
मूल्य निर्धारण:
- मुफ़्त, open-source।
प्लेटफॉर्म: कोई भी Docker होस्ट।
डाउनलोड: github.com/louislam/dockge
निष्कर्ष: बढ़ती Compose रीपो के साथ एक-मशीन सेटअप के लिए हल्का डैशबोर्ड।
6. Diun, ऑटो-पुल के बिना अपडेट नोटिफिकेशन के लिए सर्वश्रेष्ठ
Diun (Docker Image Update Notifier) इमेज टैग को देखता है और जब कोई नया आता है तो नोटिफाई करता है, बिना पुल या रीस्टार्ट किए। कंटेनर के लिए जिन्हें आप हाथ से अपडेट करना चाहते हैं (डेटाबेस, मैनुअल स्टेप वाली कोई चीज़), Diun आपको बताता है कि अपडेट की योजना कब बनानी है।
जहां यह कम पड़ता है: डिज़ाइन द्वारा केवल नोटिफिकेशन। यदि लक्ष्य “रात भर सब कुछ अपडेट करो” है, तो Watchtower का उपयोग करें।
मूल्य निर्धारण:
- मुफ़्त, open-source।
प्लेटफॉर्म: कोई भी Docker होस्ट।
डाउनलोड: github.com/crazy-max/diun
निष्कर्ष: Watchtower के लिए पूरक। सुरक्षित सामान को ऑटो-अपडेट करें, बाकी को नोटिफाई करें।
7. Uptime Kuma, कंटेनर गायब होने पर अलर्ट के लिए सर्वश्रेष्ठ
Uptime Kuma एक स्व-होस्ट किया गया स्थिति पृष्ठ और अलर्टर है। प्रत्येक कंटेनर के संपर्क पोर्ट पर या Docker सॉकेट पर इंगित करें, और यह एक शेड्यूल पर पिंग करता है। जब कंटेनर डाउन हो जाता है, Kuma Discord, Telegram, ईमेल, या webhook के माध्यम से अलर्ट करता है, और स्थिति पृष्ठ आउटेज विंडो दिखाता है।
जहां यह कम पड़ता है: यह मॉनिटर करता है, रीस्टार्ट नहीं। बंद लूप के लिए Autoheal के साथ जोड़ी करें।
मूल्य निर्धारण:
- मुफ़्त, open-source।
प्लेटफॉर्म: कोई भी Docker होस्ट।
डाउनलोड: uptime.kuma.pet
निष्कर्ष: Autoheal के ऊपर अलर्ट लेयर। वे एक साथ “नीचे था, अब ऊपर है” कहानी को कवर करते हैं।
8. Ouroboros, वैकल्पिक ऑटो-अपडेटर के रूप में सर्वश्रेष्ठ
Ouroboros Watchtower का पुराना विकल्प है। यह वही काम करता है (अपस्ट्रीम पोल, पुल, रीस्टार्ट) थोड़े अलग कॉन्फ़िग सर्फेस के साथ। दोनों प्रोजेक्ट अच्छी तरह से बनाए रखे जाते हैं; जो भी डॉक्स सबसे साफ पढ़ते हैं उन्हें चुनें।
जहां यह कम पड़ता है: समुदाय Watchtower से छोटा है, इसलिए समस्या निवारण कम फोरम थ्रेड मारता है।
मूल्य निर्धारण:
- मुफ़्त, open-source।
प्लेटफॉर्म: कोई भी Docker होस्ट।
डाउनलोड: github.com/pyouroboros/ouroboros
निष्कर्ष: एक अच्छा दूसरा-पसंद ऑटो-अपडेटर। अधिकांश स्टैक पहले Watchtower पर उतरते हैं।
सही को कैसे चुनें
- Docker Compose और
restart: unless-stoppedप्रति सेवा के साथ शुरू करें। - हेल्थचेक-संचालित रीस्टार्ट के लिए Autoheal जोड़ें।
- लीफ कंटेनर पर ऑटो-अपडेट के लिए Watchtower, और उन पर नोटिफिकेशन के लिए Diun जोड़ें जिन्हें आप ऑटो-अपडेट करने से इनकार करते हैं।
- अलर्ट के लिए Uptime Kuma जोड़ें, इसलिए एक प्रामाणिक आउटेज आपका ध्यान आकर्षित करता है।
- मल्टी-होस्ट डैशबोर्ड के लिए Portainer, या सिंगल-होस्ट Compose एडिटर के लिए Dockge चुनें।
- Ouroboros Watchtower का विकल्प है; इसे उपयोग करें यदि कॉन्फ़िग स्टाइल आपके लिए क्लिक करता है।
अक्सर पूछे जाने वाले प्रश्न
Docker रीस्टार्ट पॉलिसीज के बीच क्या अंतर है?
no कभी रीस्टार्ट नहीं करता, on-failure गैर-शून्य निकास पर रीस्टार्ट करता है, always किसी भी स्टॉप पर रीस्टार्ट करता है मैनुअल सहित, और unless-stopped विफलता और रीबूट पर रीस्टार्ट करता है लेकिन मैनुअल स्टॉप पर नहीं। unless-stopped अधिकांश स्व-होस्ट किए गए स्टैक के लिए डिफ़ॉल्ट है।
क्या Docker एक कंटेनर को रीस्टार्ट करता है जो हैंग हो गया है लेकिन क्रैश नहीं हुआ?
नहीं। Docker केवल कंटेनर के निकास पर प्रतिक्रिया करता है। एक हैंग किए गए कंटेनर को रीस्टार्ट करने के लिए, हेल्थचेक जोड़ें और इसे Autoheal या समान वॉचडॉग के साथ जोड़ी करें।
क्या Watchtower प्रोडक्शन के लिए सुरक्षित है?
अपरिवर्तनीय डेटा वाली लीफ सेवाओं के लिए, हाँ। डेटाबेस और स्कीमा माइग्रेशन वाली कोई चीज़ के लिए, इमेज को पिन करें और मैनुअली अपडेट करें। Watchtower लेबल-आधारित opt-in का समर्थन करता है।
होम सर्वर के लिए Portainer या Dockge?
कई होस्ट या जब आपको भूमिका-आधारित एक्सेस की आवश्यकता हो तो Portainer। सिंगल होस्ट के लिए Dockge जहां Compose फाइल सत्य का स्रोत है।
यदि मेरे पास Portainer है तो क्या मुझे अलग अलर्टर की आवश्यकता है?
Portainer कंटेनर स्थिति दिखाता है लेकिन आपको अलर्ट नहीं करता। Uptime Kuma या अन्य नोटिफिकेशन टूल संदेश भेजता है जब कंटेनर डाउन हो जाता है।
सबसे छोटा उपयोगी स्टैक क्या है?
restart: unless-stopped और हेल्थचेक के साथ Compose, प्लस Autoheal। वह संयोजन “कंटेनर रात भर हैंग” परिदृश्य का 80 प्रतिशत कवर करता है।