डेस्कटॉप पर Docker कंटेनर संसाधन प्रबंधन

एक ही खराब व्यवहार करने वाला कंटेनर एक होमलैब को रोक सकता है। एक Jellyfin ट्रांसकोड, एक Immich पुनः-इंडेक्स, एक Home Assistant डेटाबेस क्वेरी, और अचानक Pi-hole DNS खो रहा है और Nextcloud टाइमआउट हो रहा है। समाधान अधिक RAM नहीं है। समाधान कैप्स हैं। प्रत्येक कंटेनर को एक मेमोरी छत, एक CPU शेयर और एक ब्लॉक I/O वजन मिलता है, और शोर वाला पड़ोसी अपनी लेन में रहता है। यह वह कहानी है जो एक XDA लेखक ने हाल ही में बताई थी जब उन्होंने अंत में अपने स्टैक में प्रत्येक कंटेनर पर mem_limit, cpus: और blkio-weight सेट किया था। विश्वसनीयता हार्डवेयर से नहीं, कैप्स से आई थी।

पिछले कुछ हफ्तों में, हमने डेस्कटॉप पर Docker कंटेनर संसाधन प्रबंधन के लिए सर्वश्रेष्ठ ऐप्स चलाए हैं जो self-hosters के लिए मायने रखते हैं: Windows (WSL या Docker Desktop के माध्यम से), macOS, और Linux। हमने वेब UI, टर्मिनल UI और पूर्ण self-host ऑपरेटिंग सिस्टम देखे, और हमने उन्हें एक सवाल के आधार पर रेट किया। आप cpus: 2.0 और mem_limit: 1g को एक जगह पर सभी कंटेनरों पर कितनी तेजी से डाल सकते हैं? ये सात स्थापना के योग्य हैं।

Docker संसाधन प्रबंधक में क्या देखें

हर Docker GUI संसाधनों को कैप करने के लिए बनाई गई नहीं है। कुछ चीजें उन लोगों को अलग करती हैं जो स्थापना के योग्य हैं उन लोगों से जो केवल आपके कंटेनरों को सुंदर आइकन के साथ सूचीबद्ध करते हैं।

त्वरित तुलना

ऐप सर्वश्रेष्ठ प्लेटफॉर्म लाइसेंस कीमत
Portainer स्टैक और सीमाओं पर पूर्ण GUI नियंत्रण Windows, macOS, Linux मुक्त CE, भुगतान BE मुक्त / लगभग $155 प्रति नोड/वर्ष से
Dockge लाइव आँकड़ों के साथ Compose-प्रथम संपादन Windows, macOS, Linux खुला स्रोत मुक्त
Docker Desktop Mac और Windows पर देशी प्रति-कंटेनर सीमाएं Windows, macOS, Linux मुक्त व्यक्तिगत, भुगतान किए गए teams मुक्त / $9 प्रति उपयोगकर्ता/माह से
CasaOS ऐप स्टोर के साथ शुरुआती होमलैब OS Linux (Debian/Ubuntu/Pi) खुला स्रोत मुक्त
Runtipi उचित डिफ़ॉल्ट के साथ क्यूरेट किया गया होमलैब ऐप स्टोर Linux खुला स्रोत मुक्त
Yacht सिंगल-होस्ट Docker के लिए हल्का वेब UI Windows, macOS, Linux खुला स्रोत मुक्त
Lazydocker तेजी से ट्राइएज और CPU/मेमोरी जांच के लिए टर्मिनल UI Windows, macOS, Linux खुला स्रोत मुक्त

ऐप्स

1. Portainer, हर कंटेनर पर पूर्ण GUI नियंत्रण के लिए सर्वश्रेष्ठ

Portainer वह उपकरण है जहाँ अधिकांश self-hosters उतरते हैं एक बार उनका स्टैक चार या पाँच कंटेनरों से परे बढ़ जाता है। Community Edition मुक्त है, एक एकल Docker कंटेनर के रूप में चलता है, और आपको हर कंटेनर, इमेज, नेटवर्क, वॉल्यूम और स्टैक के लिए ब्राउज़र-आधारित कंसोल देता है एक या अधिक Docker होस्ट पर। संसाधन कैपिंग के लिए विशेष रूप से, कंटेनर संपादन दृश्य CPU सीमा (vCPU गणना के रूप में), मेमोरी आरक्षण और मेमोरी सीमा को उजागर करता है, और docker update के माध्यम से इसे कंटेनर को फिर से बनाए बिना गर्म लागू करेगा। Stacks (compose फ़ाइलें) इनलाइन संपादित हो सकते हैं, और Portainer उन्हें पुनः तैनात करता है जब आप सहेजते हैं।

multi-host दृश्य यह है जो इसे हल्के विकल्पों से परे धकेलता है। यदि आप एक NAS और एक मिनी PC पर Docker चलाते हैं, तो एक Portainer इंस्टॉलेशन दोनों को प्रबंधित कर सकता है, और संसाधन डैशबोर्ड दिखाता है कि कौन सा होस्ट कब्जे में है इससे पहले कि आप कुछ भी सीमित करें।

जहाँ यह कम होता है: मुक्त Community Edition एक भुगतान किए गए Business Edition स्तर में कुछ सुविधाओं को छोड़ता है, जिसमें तीन उपयोगकर्ताओं से परे प्रति-उपयोगकर्ता RBAC और समर्थन अनुबंध शामिल हैं। यह UI से ब्लॉक I/O वजन को भी कवर नहीं करता है, इसलिए blkio-weight अभी भी आपकी compose फ़ाइल में रहता है।

कीमत: Community Edition असीमित नोड्स के लिए मुक्त है। Business Edition प्रति नोड प्रति वर्ष लगभग $155 से शुरू होता है मात्रा छूट और गृह उपयोग के लिए मुक्त 5-नोड लाइसेंस के साथ।

प्लेटफॉर्म: जहाँ भी Docker चलता है। डेस्कटॉप पर, यह Windows (WSL या Docker Desktop), macOS (Docker Desktop या Colima) और Linux है।

डाउनलोड करें: पब्लिशर साइट · GitHub

बॉटम लाइन: यदि आप हर मशीन पर हर कंटेनर को देखने और सीमित करने के लिए एक डैशबोर्ड चाहते हैं जो आप मालिक हैं, Portainer डिफ़ॉल्ट उत्तर है।

2. Dockge, सर्वश्रेष्ठ मुक्त compose-प्रथम प्रबंधक

Dockge Portainer के विपरीत दृष्टिकोण लेता है। कंटेनरों को प्रथम-वर्ग वस्तुओं के रूप में प्रबंधित करने के बजाय, यह compose फ़ाइलों को सत्य के स्रोत के रूप में मानता है। आप ब्राउज़र में docker-compose.yaml संपादित करते हैं, deploy दबाते हैं, और Dockge स्टैक को रोकता है, फिर से बनाता है और पुनः शुरू करता है। यह वह कार्य प्रवाह है जो आप चाहते हैं जब आप mem_limit: 512m और cpus: '0.5' को प्रत्येक सेवा में deploy.resources के तहत जोड़ रहे हैं और परिवर्तन को तुरंत प्रतिबिंबित देखना चाहते हैं।

UI जानबूझकर विरल है: बाईं ओर स्टैक की सूची, दाईं ओर एक compose संपादक और टर्मिनल, शीर्ष पर लाइव CPU और मेमोरी रीडिंग। यह Uptime Kuma के समान डेवलपर द्वारा लिखा गया है, इसलिए पॉलिश वास्तविक है, और स्थापना एक एकल Docker कंटेनर है।

जहाँ यह कम होता है: केवल single-host। यदि आप एक स्क्रीन से एक से अधिक Docker मशीनों को प्रबंधित करना चाहते हैं, तो Dockge ऐसा नहीं करेगा। यह यह भी मानता है कि आप compose फ़ाइलें लिखने में सहज हैं, इसलिए यह किसी के लिए नहीं है जिसने पहले YAML नहीं देखा है।

कीमत: मुक्त, MIT लाइसेंस के तहत खुला स्रोत।

प्लेटफॉर्म: जहाँ भी Docker चलता है। Windows, macOS या Linux ब्राउज़र से एक्सेस की गई Linux सर्वर पर अच्छी तरह से काम करता है।

डाउनलोड करें: GitHub

बॉटम लाइन: सर्वश्रेष्ठ मुक्त चुनाव यदि आपके कंटेनर पहले से ही compose फ़ाइलों में रहते हैं और आप उन्हें ब्राउज़र छोड़े बिना सीमित करना चाहते हैं।

3. Docker Desktop, Windows और macOS पर सर्वश्रेष्ठ built-in विकल्प

Docker Desktop संसाधन नियंत्रण के साथ आता है जो अधिकांश उपयोगकर्ता कभी खोलते नहीं हैं। Windows और macOS पर, Resources फलक पूरे Docker VM को सीमित करता है (मेमोरी, CPU, स्वैप, डिस्क इमेज आकार), जो आपके लैपटॉप को Docker के खाने से रोकने के लिए आपकी सुरक्षा है। इसके शीर्ष पर, व्यक्तिगत कंटेनर सीमाएं अभी भी हमेशा की तरह CLI, compose फ़ाइलें और हाल के संस्करणों पर डेस्कटॉप UI के कंटेनर संपादन संवाद के माध्यम से काम करते हैं।

यह इसी सूची में है क्योंकि यह पहले से ही अधिकांश डेस्कटॉप मशीनों पर स्थापित है। यदि आप अभी तक Docker Desktop की Settings के माध्यम से नहीं गए हैं और इंजन पर एक कठोर मेमोरी और CPU छत सेट नहीं की है, तो पहले ऐसा करें। नीचे प्रत्येक कंटेनर सीमा उस बाहरी बाउंड के ऊपर निर्भर करती है।

जहाँ यह कम होता है: इंजन-व्यापी सीमाएं शो का तारा हैं; डेस्कटॉप UI में प्रति-कंटेनर संपादन कार्यात्मक है लेकिन विरल है। Linux पर डेस्कटॉप ऐप वैकल्पिक है, अधिकांश लोग सीधे daemon का उपयोग करते हैं। 250 कर्मचारियों या $10M राजस्व से ऊपर व्यावसायिक उपयोग के लिए एक भुगतान किए गए सदस्यता की आवश्यकता है।

कीमत: व्यक्तिगत उपयोग, शिक्षा, छोटे व्यवसाय और खुले स्रोत के लिए मुक्त। Pro $9 प्रति उपयोगकर्ता प्रति माह है, Team $15, Business $24।

प्लेटफॉर्म: Windows, macOS, Linux।

डाउनलोड करें: Docker.com

बॉटम लाइन: पहले इंजन-व्यापी सीमा सेट करें, फिर प्रति-कंटेनर सीमाओं के लिए शीर्ष पर एक अन्य उपकरण को ओवरले करें। अधिकांश होम उपयोगकर्ताओं के लिए मुक्त।

4. CasaOS, सर्वश्रेष्ठ शुरुआती होमलैब चुनाव

CasaOS एक पूर्ण self-host ऑपरेटिंग सिस्टम परत है जो Debian, Ubuntu, Raspberry Pi OS या इसी तरह के ऊपर बैठता है। एक पंक्ति स्क्रिप्ट के साथ इंस्टॉल करें और आपको एक फोन-जैसी होम स्क्रीन मिलती है, एक ऐप स्टोर जिसमें वन-क्लिक इंस्टॉलर हैं (Jellyfin, Immich, Pi-hole, Home Assistant और लगभग 150 अन्य), और एक कंटेनर दृश्य जो रीयल-टाइम में ऐप के अनुसार CPU और मेमोरी दिखाता है। प्रत्येक स्थापित कंटेनर के लिए, आप सेटिंग खोल सकते हैं और एक compose फ़ाइल को स्पर्श किए बिना मेमोरी सीमा, CPU शेयर और पोर्ट और वॉल्यूम मैपिंग सेट कर सकते हैं।

यह वह उपकरण है जिसे हम किसी ऐसे मित्र के सामने रखते, जिसने Plex और Home Assistant चलाने के लिए एक मिनी PC खरीदा है और कभी टर्मिनल नहीं खोला है। कैप्स एक स्लाइडर दूर हैं, और UI स्पष्ट करता है कि कौन सी कंटेनरें असीमित हैं।

जहाँ यह कम होता है: Single-host, Linux-only और मतलबी। ऐप स्टोर एक विशिष्ट इमेज सेट को सॉर्ट करता है, इसलिए बेस्पोक या ऑफ-कैटलॉग कंटेनर compose इम्पोर्टर के माध्यम से काम करते हैं लेकिन एक-क्लिक UX से लाभान्वित नहीं होते। विकास गति कुछ साल पहले की तुलना में धीमी हो गई है, हालांकि परियोजना अभी भी सक्रिय रूप से बनाए रखी है।

कीमत: मुक्त, Apache 2.0 लाइसेंस के तहत खुला स्रोत।

प्लेटफॉर्म: केवल Linux (Debian, Ubuntu, Raspberry Pi OS, Fedora, Arch)। किसी भी डेस्कटॉप ब्राउज़र से एक्सेस करें।

डाउनलोड करें: पब्लिशर साइट · GitHub

बॉटम लाइन: एक छोटे होमलैब को समझदारीपूर्वक चलाने का सबसे आसान तरीका यदि मशीन एक समर्पित Linux बॉक्स है।

5. Runtipi, सर्वश्रेष्ठ CasaOS के लिए क्यूरेट किया गया होमलैब विकल्प

Runtipi CasaOS के समान ग्राउंड को कवर करता है (ऐप स्टोर, वन-क्लिक इंस्टॉलर, प्रति-ऐप सेटिंग्स), लेकिन अधिक आधुनिक महसूस करता है और तेजी से आगे बढ़ता है। ऐप स्टोर अब सैकड़ों कंटेनरीकृत ऐप्स को शामिल करता है, सभी समझदारीपूर्ण डिफ़ॉल्ट के साथ पैक किए गए, UI में उजागर किए गए पर्यावरण चर और प्रति-ऐप संसाधन सेटिंग। ऐप कॉन्फ़िगरेशन में आप जो सीमाएं सेट करते हैं वे तैनाती के समय मानक Docker सीमाओं में अनुवाद करती हैं।

हम CasaOS को Runtipi में पसंद करते हैं जब उपयोगकर्ता दस्तावेज़ पढ़ने में खुश होता है, क्योंकि सेटिंग्स अधिक नॉब्स खोलती हैं। यह कई आर्किटेक्चर के लिए बेहतर समर्थन भी है और एक सफाई अपडेट प्रवाह है।

जहाँ यह कम होता है: भी single-host और केवल Linux। स्टोर में नहीं ऐप्स को अभी भी एक compose फ़ाइल की आवश्यकता है, एक कस्टम ऐप परिभाषा के माध्यम से आयात किया गया। समुदाय Portainer या CasaOS की तुलना में छोटा है, इसलिए अस्पष्ट एकीकरण अधिक खोदाई लेते हैं।

कीमत: मुक्त, खुला स्रोत।

प्लेटफॉर्म: Linux (Debian, Ubuntu और व्युत्पन्न)। किसी भी डेस्कटॉप से ब्राउज़र एक्सेस करें।

डाउनलोड करें: पब्लिशर साइट · GitHub

बॉटम लाइन: विकल्प यदि CasaOS बहुत सरल लगता है और Portainer बहुत कच्चा है।

6. Yacht, सर्वश्रेष्ठ हल्का वेब UI

Yacht Portainer के समान स्थान में एक छोटा, तेजी से वेब UI है, उपयोगकर्ताओं के लिए लक्षित जो एक स्वच्छ कंटेनर सूची, वन-क्लिक टेम्प्लेट और एक सेटिंग्स फलक चाहते हैं जो स्टैक प्रबंधन या multi-host ऑर्केस्ट्रेशन के अतिरिक्त सतह क्षेत्र के बिना CPU और मेमोरी सीमाएं शामिल हैं। टेम्प्लेट JSON फ़ाइलों में रहते हैं और सामुदायिक-साझा किए जा सकते हैं, जो इंजीन के साथ एक इमेज को तैनात करना आसान बनाता है।

एक एकल Docker होस्ट के लिए जहाँ आप मुख्य रूप से कंटेनर शुरू करने, बंद करने, सीमित करने और अपडेट करने की चिंता करते हैं, Yacht Portainer की तुलना में अधिक तेजी से सीखने योग्य है और पूरे प्रवाह को दो या तीन स्क्रीन के भीतर रखता है।

जहाँ यह कम होता है: विकास Portainer या Dockge की तुलना में बहुत धीमा है, और परियोजना लंबे समय से बीटा में है। Multi-host रोडमैप पर नहीं है। कुछ नई Docker सुविधाएं यहाँ बड़े उपकरणों की तुलना में बाद में आती हैं।

कीमत: मुक्त, खुला स्रोत।

प्लेटफॉर्म: जहाँ भी Docker चलता है। किसी भी डेस्कटॉप से ब्राउज़र एक्सेस करें।

डाउनलोड करें: GitHub

बॉटम लाइन: एक एकल Docker होस्ट के लिए एक स्वच्छ वेब UI जब Portainer अत्यधिक महसूस करता है।

7. Lazydocker, तेजी से ट्राइएज के लिए सर्वश्रेष्ठ टर्मिनल UI

Lazydocker एक प्रबंधक नहीं है, यह हाथों के साथ एक मॉनिटर है। एक टर्मिनल में इसे लॉन्च करें और आपको प्रत्येक कंटेनर का एक कीबोर्ड-चालित दृश्य मिलता है जिसमें लाइव CPU, मेमोरी, ब्लॉक I/O और नेटवर्क ग्राफ, साथ ही आँकड़े फलक, लॉग और शेल शॉर्टकट हैं। जब एक कंटेनर स्पाइक करता है, तो lazydocker आपको सेकंड में दिखाता है, और आप फलक छोड़े बिना पुनः आरंभ, रोक या शेल खोल सकते हैं।

वास्तव में सीमाएं सेट करने के लिए, आप एक शेल में जाते हैं (e कंटेनर को $EDITOR में या docker exec में खोलता है) और docker update --cpus 2 --memory 1g <name> का उपयोग करते हैं या compose फ़ाइल संपादित करते हैं। यह वह उपकरण है जो आप जो भी वेब UI आपके मुख्य के बगल में tmux स्प्लिट में रखते हैं।

जहाँ यह कम होता है: compose या run सीमाओं के लिए कोई संपादन UI नहीं, आपको CLI टाइप करना होगा। केवल Docker, कोई Kubernetes नहीं।

कीमत: मुक्त, MIT लाइसेंस के तहत खुला स्रोत।

प्लेटफॉर्म: Windows (WSL या PowerShell के माध्यम से), macOS, Linux। Homebrew, Scoop, Nix या एक Go बाइनरी के माध्यम से इंस्टॉल करता है।

डाउनलोड करें: GitHub

बॉटम लाइन: देखने का सबसे तेजी से तरीका कि कौन सी कंटेनर अभी ही खराब व्यवहार कर रही है, और इसे सीमित करने वाले docker update को चलाता है।

सही को कैसे चुनें

अधिकांश self-hosters दो के साथ समाप्त होते हैं। सीमाएं सेट करने और स्थिति पढ़ने के लिए एक वेब UI, साथ ही एक स्पेयर टर्मिनल में Lazydocker जब कंटेनर खराब व्यवहार करना शुरू करता है।

FAQ

डेस्कटॉप पर Docker कंटेनरों को प्रबंधित करने के लिए सर्वश्रेष्ठ मुक्त ऐप क्या है?

Portainer Community Edition सबसे मजबूत मुक्त विकल्प है क्योंकि यह कंटेनर संपादन, स्टैक, multi-host और लाइव आँकड़ों को बिना paywall के एक ब्राउज़र UI में कवर करता है। एक compose-केंद्रित वर्कफ़्लो के लिए, Dockge बेहतर मुक्त विकल्प है।

मैं एक Docker कंटेनर पर CPU और मेमोरी सीमा कैसे सेट करूँ?

एक compose फ़ाइल में, सेवा के तहत deploy.resources.limits.cpus: '2.0' और deploy.resources.limits.memory: 1G जोड़ें, या पुराने शीर्ष-स्तर cpus: 2.0 और mem_limit: 1g का उपयोग करें। एक चलते हुए कंटेनर पर, docker update --cpus 2 --memory 1g <name> पुनः आरंभ के बिना परिवर्तन को लागू करता है। Portainer, Dockge, CasaOS, Runtipi और Yacht सभी UI में ये सेटिंग्स उजागर करते हैं।

क्या Docker Desktop व्यक्तिगत कंटेनरों को सीमित कर सकता है?

Docker Desktop का Resources फलक Windows और macOS पर पूरे Docker VM को सीमित करता है, व्यक्तिगत कंटेनर को नहीं। प्रति-कंटेनर सीमाएं अभी भी compose फ़ाइलों, docker run फ़्लैग, या Portainer जैसे प्रबंधक से आती हैं जो एक ही इंजन पर चलता है।

होमलैब के लिए Portainer या Dockge बेहतर है?

Portainer यदि आपके पास एक से अधिक Docker होस्ट है या आप एक पूर्ण कंटेनर प्रबंधक चाहते हैं। Dockge यदि आपकी सभी सेवाएं पहले से ही एक एकल होस्ट पर compose फ़ाइलों में रहती हैं और आप सबसे तेजी से संपादन लूप चाहते हैं। कई होमलैबर दोनों को इंस्टॉल करते हैं और प्रत्येक का उपयोग करते हैं जो यह सर्वश्रेष्ठ करता है।

CasaOS और Runtipi में क्या अंतर है?

दोनों एक-पंक्ति-इंस्टॉल होमलैब OS परतें हैं एक क्यूरेट किए गए ऐप स्टोर और प्रति-ऐप सेटिंग्स के साथ। CasaOS परिवर्तन की धीमी गति के साथ शुरुआती-अनुकूल है; Runtipi अधिक कॉन्फ़िगरेशन उजागर करता है और तेजी से नई ऐप्स भेजता है। यदि सरलता मायने रखती है तो पहले CasaOS आजमाएँ, यदि आप चीजों को ट्विक करने की योजना बनाते हैं तो Runtipi।

क्या ये उपकरण Windows पर WSL पर काम करते हैं?

हाँ। सभी सात एक Docker इंजन पर एक कंटेनर में WSL 2 के अंदर चलते हैं, और आप localhost पर Windows ब्राउज़र से वेब UI तक पहुँचते हैं। Lazydocker सीधे WSL शेल के अंदर भी चलता है।