डॉकर (सॉफ्टवेयर): Difference between revisions

From Vigyanwiki
No edit summary
 
(20 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Short description|Software for deploying containerized applications}}
{{Short description|Software for deploying containerized applications}}
{{about|the OS-level virtualization software|the company|Docker, Inc.}}
{{Use mdy dates|date=September 2018}}
{{Use mdy dates|date=September 2018}}
{{ infobox software
[[File:Docker (container engine) logo.svg|thumb|पूर्व लोगो]]'''डॉकर''' प्लेटफ़ॉर्म सर्विस (PaaS) उत्पादों का एक सेट है जो 'कंटेनर' नामक पैकेज में सॉफ़्टवेयर वितरित करने के लिए ओएस-स्तर वर्चुअलाइज़ेशन का उपयोग करता है।<ref name="SYS-CON Media" /> सेवा में निःशुल्क और प्रीमियम दोनों स्तर हैं। सॉफ्टवेयर जो कंटेनरों को होस्ट करता है उसे '''डॉकर इंजन''' कहा जाता है।<ref name="what-is-a-container" /> इसे पहली बार 2013 में शुरू किया गया था और इसे डॉकर, इंक द्वारा विकसित किया गया है।<ref name="os4u" />
| title                  = Docker
| name                  = Docker
| logo                  = Docker logo.svg
| screenshot            =
| caption                =
| collapsible            =
| author                = Solomon Hykes
| developer              = [[Docker, Inc.]]
| released              = {{Start date and age|2013|3|20}}<ref name="docker-1.0-release-article" />
| discontinued          =
| latest release version = {{wikidata|property|references|edit|P348}}
| latest release date    = {{Start date and age|{{wikidata|qualifier|P348|P577}}}}
| नवीनतम पूर्वावलोकन संस्करण =
| प्रोग्रामिंग लैंग्वेज = [[जाओ (प्रोग्रामिंग भाषा)]]<ref name="source-code" />| ऑपरेटिंग सिस्टम = [[लिनक्स]], [[खिड़कियाँ]], मैकओएस
| प्लेटफार्म = [[x86-64]], [[एआरएम वास्तुकला]], जेड/आर्किटेक्चर, [[ppc64]]एलई
| भाषा =
| शैली = [[ओएस-स्तरीय वर्चुअलाइजेशन]]
| लाइसेंस = नि: शुल्क / भुगतान <ref>{{cite web | url = https://www.docker.com/pricing/faq#subscriptionandlicensing | title = Docker FAQs }}</ref>
| वेबसाइट = {{URL|https://www.docker.com/|docker.com}}
}}
[[File:Docker (container engine) logo.svg|thumb|पूर्व लोगो]]'''डॉकर''' प्लेटफ़ॉर्म सर्विस (PaaS) उत्पादों का एक सेट है जो 'कंटेनर' नामक पैकेज में सॉफ़्टवेयर वितरित करने के लिए OS-स्तर वर्चुअलाइज़ेशन का उपयोग करता है।<ref name="SYS-CON Media" /> सेवा में निःशुल्क और प्रीमियम दोनों स्तर हैं। सॉफ्टवेयर जो कंटेनरों को होस्ट करता है उसे '''डॉकर इंजन''' कहा जाता है।<ref name="what-is-a-container" /> इसे पहली बार 2013 में शुरू किया गया था और इसे डॉकर, इंक द्वारा विकसित किया गया है।<ref name="os4u" />


'''डॉकर''' एक ऐसा उपकरण है जिसका उपयोग '''हल्के कंटेनरों''' में अनुप्रयोगों की तैनाती को स्वचालित करने के लिए किया जाता है ताकि अनुप्रयोग विभिन्न वातावरणों में कुशलता से काम कर सकें।
'''डॉकर''' एक ऐसा उपकरण है जिसका उपयोग '''हल्के कंटेनरों''' में अनुप्रयोगों की तैनाती को स्वचालित करने के लिए किया जाता है ताकि अनुप्रयोग विभिन्न वातावरणों में कुशलता से काम कर सकें।
Line 29: Line 7:
== पृष्ठभूमि ==
== पृष्ठभूमि ==
कंटेनर एक दूसरे से अलग होते हैं और अपने स्वयं के सॉफ़्टवेयर, [[पुस्तकालय (कम्प्यूटिंग)|पुस्तकालय]] और व्यवस्था का प्रारूप फ़ाइलों को बंडल करते हैं, वे अच्छी तरह से परिभाषित चैनलों के माध्यम से एक दूसरे के साथ संवाद कर सकते हैं।<ref name="Auto38-1" /> क्योंकि सभी कंटेनर एकल [[कर्नेल (ऑपरेटिंग सिस्टम)|ऑपरेटिंग सिस्टम]] कर्नेल की सेवाओं को साझा करते हैं, वे [[आभासी मशीन|आभासी मशीनों]] की तुलना में कम संसाधनों का उपयोग करते हैं।<ref name="what-is-a-container" />
कंटेनर एक दूसरे से अलग होते हैं और अपने स्वयं के सॉफ़्टवेयर, [[पुस्तकालय (कम्प्यूटिंग)|पुस्तकालय]] और व्यवस्था का प्रारूप फ़ाइलों को बंडल करते हैं, वे अच्छी तरह से परिभाषित चैनलों के माध्यम से एक दूसरे के साथ संवाद कर सकते हैं।<ref name="Auto38-1" /> क्योंकि सभी कंटेनर एकल [[कर्नेल (ऑपरेटिंग सिस्टम)|ऑपरेटिंग सिस्टम]] कर्नेल की सेवाओं को साझा करते हैं, वे [[आभासी मशीन|आभासी मशीनों]] की तुलना में कम संसाधनों का उपयोग करते हैं।<ref name="what-is-a-container" />


=== ऑपरेशन ===
=== ऑपरेशन ===
[[File:Docker-linux-interfaces.svg|thumb|लिनक्स कर्नेल की वर्चुअलाइजेशन सुविधाओं तक पहुँचने के लिए डॉकर विभिन्न इंटरफेस का उपयोग कर सकता है।<ref name="docker-blog-2014-03" />]]डॉकर एक एप्लिकेशन और उसकी निर्भरता को एक वर्चुअल कंटेनर में पैकेज कर सकता है जो किसी भी लिनक्स, विंडोज या मैकओएस कंप्यूटर पर चल सकता है। यह एप्लिकेशन को विभिन्न स्थानों पर चलने में सक्षम बनाता है, जैसे [[ऑन-प्रिमाइसेस सॉफ़्टवेयर|ऑन-प्रिमाइसेस]], सार्वजनिक क्लाउड में (विकेन्द्रीकृत कंप्यूटिंग, वितरित कंप्यूटिंग और [[क्लाउड कम्प्यूटिंग]] देखें) या निजी क्लाउड।<ref name="Linux" /> लिनक्स पर चलते समय, डॉकर [[लिनक्स कर्नेल]] (जैसे [[cgroups|सीग्रुप्स]] और कर्नेल [[लिनक्स नामस्थान]]) और एक [[संघ पर्वत]] संघ-सक्षम फ़ाइल सिस्टम (जैसे [[ओवरलेएफएस]]) की संसाधन अलगाव सुविधाओं का उपयोग करता है।<ref name="select-storage-driver" /> वास्तविक मशीनों को शुरू करने और बनाए रखने के ओवरहेड से बचने के लिए कंटेनरों को एक ही लिनक्स उदाहरण के भीतर चलाने की अनुमति देने के लिए।<ref name="kernel-requirements" /> MacOS पर डॉकर कंटेनरों को चलाने के लिए लिनक्स वर्चुअल मशीन का उपयोग करता है।<ref name="docker-for-mac" />
[[File:Docker-linux-interfaces.svg|thumb|लिनक्स कर्नेल की वर्चुअलाइजेशन सुविधाओं तक पहुँचने के लिए डॉकर विभिन्न इंटरफेस का उपयोग कर सकता है।<ref name="docker-blog-2014-03" />]]डॉकर एक एप्लिकेशन और उसकी निर्भरता को एक आभासी पात्र में पार्सल कर सकता है जो किसी भी लिनक्स, विंडोज या मैकओएस कंप्यूटर पर चल सकता है। यह एप्लिकेशन को विभिन्न स्थानों पर चलने में सक्षम बनाता है, जैसे [[ऑन-प्रिमाइसेस सॉफ़्टवेयर|ऑन-प्रिमाइसेस]], सार्वजनिक रूप से (विकेन्द्रीकृत कंप्यूटिंग, वितरित कंप्यूटिंग और [[क्लाउड कम्प्यूटिंग]] देखें) या निजी क्लाउड।<ref name="Linux" /> लिनक्स पर चलते समय, डॉकर [[लिनक्स कर्नेल]] (जैसे [[cgroups|सीग्रुप्स]] और कर्नेल [[लिनक्स नामस्थान]]) की संसाधन अलगाव सुविधाओं और संघ-सक्षम फ़ाइल सिस्टम (जैसे [[ओवरलेएफएस]]) का उपयोग करता है। <ref name="select-storage-driver" /> वास्तविक मशीनों को शुरू करने और बनाए रखने के ओवरहेड से बचने के लिए कंटेनरों को एक ही लिनक्स उदाहरण के भीतर चलाने की अनुमति देने के लिए।<ref name="kernel-requirements" /> मैकओएस पर डॉकर कंटेनरों को चलाने के लिए लिनक्स वर्चुअल मशीन का उपयोग करता है।<ref name="docker-for-mac" />


'''क्योंकि''' डॉकटर कंटेनर हल्के होते हैं, एक सर्वर या वर्चुअल मशीन एक साथ कई कंटेनर चला सकती है।<ref name="Chris K., Poweruser 2019" />2018 के एक विश्लेषण में पाया गया कि एक विशिष्ट डॉकर उपयोग के मामले में प्रति होस्ट आठ कंटेनर चलाना शामिल है, और यह कि विश्लेषण किए गए एक चौथाई संगठन प्रति होस्ट 18 या अधिक चलाते हैं।<ref name="datadog" />इसे [[रास्पबेरी पाई]] जैसे सिंगल बोर्ड कंप्यूटर पर भी इंस्टॉल किया जा सकता है।<ref>{{Cite web |last=Gupta |first=Devender |date=2022-10-13 |title=How to Install Docker on Raspberry Pi |url=https://gizmoxo.com/install-docker-on-raspberry-pi/ |access-date=2022-10-15 |website=Gizmoxo |language=en-US}}</ref>
क्योंकि डॉकटर कंटेनर हल्के होते हैं, सर्वर या वर्चुअल मशीन एक साथ कई कंटेनर चला सकती है।<ref name="Chris K., Poweruser 2019" /> 2018 के विश्लेषण में पाया गया कि विशिष्ट डॉकर उपयोग के मामले में प्रति होस्ट आठ कंटेनर चलाना शामिल है, और विश्लेषण किए गए एक चौथाई संगठन प्रति होस्ट 18 या अधिक चलाते हैं।<ref name="datadog" />इसे [[रास्पबेरी पाई]] जैसे सिंगल बोर्ड कंप्यूटर पर भी इंस्टॉल किया जा सकता है।<ref>{{Cite web |last=Gupta |first=Devender |date=2022-10-13 |title=How to Install Docker on Raspberry Pi |url=https://gizmoxo.com/install-docker-on-raspberry-pi/ |access-date=2022-10-15 |website=Gizmoxo |language=en-US}}</ref>
Linux कर्नेल ज्यादातर नामस्थानों के लिए समर्थन करता है<ref name="kernel-keyrings" />प्रोसेस ट्री, नेटवर्क, यूजर आईडी और माउंटेड फाइल सिस्टम सहित ऑपरेटिंग वातावरण के एक एप्लिकेशन के दृश्य को अलग करता है, जबकि कर्नेल के cgroups मेमोरी और सीपीयू के लिए सीमित संसाधन प्रदान करते हैं।<ref name="limit-resources" />संस्करण 0.9 के बाद से, डॉकर में अपना स्वयं का घटक शामिल है (जिसे कहा जाता है{{Mono|libcontainer}}) [[libvirt]], [[LXC]] और [[systemd-nspawn]] के माध्यम से अमूर्त वर्चुअलाइजेशन इंटरफेस का उपयोग करने के अलावा, लिनक्स कर्नेल द्वारा सीधे प्रदान की गई वर्चुअलाइजेशन सुविधाओं का उपयोग करने के लिए।<ref name="zdnet-7000030397" /><ref name="docker-blog-2014-03" /><ref name="Linux" /><ref name="libcontainer" />


डॉकटर हल्के कंटेनर प्रदान करने के लिए एक उच्च-स्तरीय [[एपीआई]] लागू करता है जो अलगाव में प्रक्रियाओं को चलाता है।<ref name="infoq-2013-03" />
लिनक्स कर्नेल का समर्थन ज्यादातर नामस्थानों के लिए करता है<ref name="kernel-keyrings" /> ऑपरेटिंग वातावरण के एप्लिकेशन के दृश्य को अलग करता है, जिसमें प्रोसेस ट्री, नेटवर्क, यूजर आईडी और माउंटेड फाइल सिस्टम शामिल हैं, जबकि कर्नेल के cgroups मेमोरी और सीपीयू के लिए सीमित संसाधन प्रदान करते हैं।<ref name="limit-resources" /> संस्करण 0.9 के बाद से, डॉकर में अपना स्वयं का घटक शामिल है ({{Mono|libcontainer}} कहा जाता है) [[libvirt|लिबविर्ट, एलएक्ससी]], और [[systemd-nspawn]] के माध्यम से अमूर्त वर्चुअलाइजेशन इंटरफेस का उपयोग करने के अलावा, लिनक्स कर्नेल द्वारा सीधे प्रदान की गई वर्चुअलाइजेशन सुविधाओं का उपयोग करने के लिए।<ref name="zdnet-7000030397" /><ref name="docker-blog-2014-03" /><ref name="Linux" /><ref name="libcontainer" />


डॉकटरएक हल्के कंटेनर प्रदान करने के लिए एक उच्च-स्तरीय [[एपीआई]] लागू करता है जो अलगाव में प्रक्रियाओं को चलाता है।<ref name="infoq-2013-03" />


== लाइसेंसिंग मॉडल ==
== लाइसेंसिंग मॉडल ==
* डॉकर इंजन को अपाचे लाइसेंस 2.0 के तहत लाइसेंस दिया गया है। डॉकर डेस्कटॉप जीएनयू जनरल पब्लिक लाइसेंस के तहत लाइसेंस प्राप्त कुछ घटकों को वितरित करता है।
* डॉकर इंजन को अपाचे लाइसेंस 2.0 के तहत लाइसेंस दिया गया है। डॉकर डेस्कटॉप जीएनयू जनरल पब्लिक लाइसेंस के तहत लाइसेंस प्राप्त कुछ घटकों को वितरित करता है।
* डॉकरफाइल फाइलों को ओपन-सोर्स लाइसेंस के तहत ही लाइसेंस दिया जा सकता है। यह महसूस करना महत्वपूर्ण है कि इस लाइसेंस स्टेटमेंट का दायरा केवल डॉकरफाइल है न कि कंटेनर इमेज।
* डॉकरफाइल फाइलों को ओपन-सोर्स लाइसेंस के तहत ही लाइसेंस दिया जा सकता है। यह महसूस करना महत्वपूर्ण है कि इस लाइसेंस स्टेटमेंट का दायरा केवल डॉकरफाइल है न कि कंटेनर इमेज।
Line 48: Line 23:
=== घटक ===
=== घटक ===


सेवा की पेशकश के रूप में डॉकर सॉफ्टवेयर में तीन घटक होते हैं:
सेवा की पेशकश के रूप में डॉकर सॉफ्टवेयर में तीन घटक होते हैं
 
* सॉफ्टवेयर: डॉकर [[डेमन (कंप्यूटिंग)|डेमन]], जिसे <code>डॉकर्ड</code> कहा जाता है, एक सतत प्रक्रिया है जो डॉकर कंटेनरों का प्रबंधन करती है और कंटेनर ऑब्जेक्ट्स को संभालती है। डेमन डॉकर इंजन एपीआई के माध्यम से भेजे गए अनुरोधों को सुनता है।<ref name="docker-overview" /><ref name="dockerd" />डॉकर ग्राहक प्रोग्राम, जिसे <code>डॉकर</code> कहा जाता है, [[कमांड लाइन इंटरफेस|कमांड-लाइन इंटरफेस]] (सीएलआई) प्रदान करता है, जो उपयोगकर्ताओं को डॉकर डेमॉन के साथ बातचीत करने की अनुमति देता है।<ref name="docker-overview" /><ref name="cli-usage" />
*ऑब्जेक्ट्स: डॉकर ऑब्जेक्ट्स विभिन्न संस्थाएं हैं। जिनका उपयोग डॉकर में एप्लिकेशन को इकट्ठा करने के लिए उपयोग की जाने वाली डॉकर वस्तुओं के मुख्य वर्ग चित्र, कंटेनर और सेवाएँ हैं।<ref name="docker-overview" />


* सॉफ्टवेयर: डॉकर [[डेमन (कंप्यूटिंग)]], जिसे कहा जाता है <code>dockerd</code>, एक सतत प्रक्रिया है जो डॉकर कंटेनरों का प्रबंधन करती है और कंटेनर ऑब्जेक्ट्स को संभालती है। डेमन डॉकर इंजन एपीआई के माध्यम से भेजे गए अनुरोधों को सुनता है।<ref name="docker-overview" /><ref name="dockerd" />डॉकर क्लाइंट प्रोग्राम, जिसे कहा जाता है <code>docker</code>, [[कमांड लाइन इंटरफेस]] (CLI) प्रदान करता है, जो उपयोगकर्ताओं को डॉकर डेमॉन के साथ इंटरैक्ट करने की अनुमति देता है।<ref name="docker-overview" /><ref name="cli-usage" />* ऑब्जेक्ट्स: डॉकर ऑब्जेक्ट्स डॉकर में एप्लिकेशन को इकट्ठा करने के लिए उपयोग की जाने वाली विभिन्न संस्थाएं हैं। डॉकर वस्तुओं के मुख्य वर्ग चित्र, कंटेनर और सेवाएँ हैं।<ref name="docker-overview" />** एक डॉकटर कंटेनर एक मानकीकृत, एन्कैप्सुलेटेड वातावरण है जो एप्लिकेशन चलाता है।<ref name="digitalocean" />डॉकटर एपीआई या कमांड-लाइन इंटरफेस का उपयोग करके एक कंटेनर का प्रबंधन किया जाता है।<ref name="docker-overview" />** डॉकर इमेज एक रीड-ओनली टेम्प्लेट है जिसका इस्तेमाल कंटेनर बनाने के लिए किया जाता है। छवियों का उपयोग एप्लिकेशन को स्टोर और शिप करने के लिए किया जाता है।<ref name="docker-overview" />** एक डॉकर सेवा कंटेनरों को कई डॉकर डेमॉन में स्केल करने की अनुमति देती है। परिणाम को एक झुंड के रूप में जाना जाता है, सहयोगी डेमॉन का एक सेट जो डॉकर एपीआई के माध्यम से संचार करता है।<ref name="docker-overview" />* रजिस्ट्रियाँ: एक डॉकर रजिस्ट्री डॉकर छवियों के लिए एक भंडार है। डॉकर क्लाइंट छवियों को डाउनलोड (पुल) करने के लिए रजिस्ट्रियों से जुड़ते हैं या उनके द्वारा बनाई गई छवियों को अपलोड (पुश) करते हैं। रजिस्ट्रियां सार्वजनिक या निजी हो सकती हैं। मुख्य सार्वजनिक रजिस्ट्री डॉकर हब है। डॉकर हब डिफ़ॉल्ट रजिस्ट्री है जहां डॉकर छवियों की तलाश करता है।<ref name="docker-overview" /><ref name="docker-registry" />डॉकर रजिस्ट्रियां भी घटनाओं के आधार पर सूचनाएं बनाने की अनुमति देती हैं।<ref name="Auto38-2" />
* डॉकटर कंटेनर मानकीकृत, संपुटित वातावरण है जो अनुप्रयोगों को चलाता है।<ref name="digitalocean" /> कंटेनर को डॉकटर एपीआई या सीएलआई का उपयोग करके प्रबंधित किया जाता है।<ref name="docker-overview" />
* डॉकर इमेज एक रीड-ओनली टेम्प्लेट है जिसका इस्तेमाल कंटेनर बनाने के लिए किया जाता है। छवियों का उपयोग एप्लिकेशन को स्टोर और शिप करने के लिए किया जाता है।<ref name="docker-overview" />
* एक डॉकर सेवा कंटेनरों को कई डॉकर डेमॉन में स्केल करने की अनुमति देती है। परिणाम को एक झुंड के रूप में जाना जाता है, सहयोगी डेमॉन का एक सेट जो डॉकर एपीआई के माध्यम से संचार करता है।<ref name="docker-overview" />


*पंजीकरण: डॉकर पंजीकरण डॉकर छवियों के लिए भंडार है। डॉकर क्लाइंट उपयोग के लिए छवियों को डाउनलोड ("पुल") करने के लिए पंजीकरण से जुड़ते हैं या उनके द्वारा बनाई गई छवियों को अपलोड ("पुश") करते हैं। पंजीकरण सार्वजनिक या निजी हो सकती हैं। मुख्य सार्वजनिक पंजीकरण डॉकर हब है। डॉकर हब डिफ़ॉल्ट पंजीकरण है जहां डॉकर छवियों की तलाश करता है।<ref name="docker-overview" /><ref name="docker-registry" /> डॉकर पंजीकरण भी घटनाओं के आधार पर सूचनाएं बनाने की अनुमति देती हैं।<ref name="Auto38-2" />


=== उपकरण ===
=== उपकरण ===
* '''डॉकर कंपोज़''' बहु-कंटेनर डॉकर अनुप्रयोगों को परिभाषित करने और चलाने के लिए उपकरण है।<ref name="compose-overview" /> यह आवेदन की सेवाओं को समनुरूप करने के लिए [[YAML]] फ़ाइलों का उपयोग करता है और कमांड के साथ सभी कंटेनरों का निर्माण और स्टार्ट-अप प्रक्रिया करता है। <code>डॉकटर-''कंपोज़''</code> सीएलआई उपयोगिता उपयोगकर्ताओं को एक साथ कई कंटेनरों पर कमांड चलाने की अनुमति देती है, उदाहरण के लिए, छवियों का निर्माण, [[अनुमापकता]] कंटेनर, रोके गए कंटेनरों को चलाना, और बहुत कुछ।<ref name="compose-cli-ref" /> '''Docker-compose.yml''' फ़ाइल का उपयोग एप्लिकेशन की सेवाओं को परिभाषित करने के लिए किया जाता है और इसमें विभिन्न कॉन्फ़िगरेशन विकल्प शामिल होते हैं। छवि हेरफेर, या उपयोगकर्ता-संवादात्मक विकल्पों से संबंधित आदेश डॉकर कंपोज़ में प्रासंगिक नहीं हैं क्योंकि वे एक कंटेनर को संबोधित करते हैं।<ref name="codeship" /> उदाहरण के लिए, <code>बिल्ड</code> विकल्प विन्यास विकल्पों को परिभाषित करता है जैसे कि डॉकरफाइल पथ, <code>कमांड</code> विकल्प को डिफ़ॉल्ट डॉकर कमांड को रद्द करने की अनुमति देता है, और बहुत कुछ।<ref name="compose-v3-ref" /> डॉकर कंपोज़ (संस्करण 0.0.1) का पहला सार्वजनिक बीटा संस्करण 21 दिसंबर, 2013 को जारी किया गया था।<ref name="release-0.0.1" /> पहला उत्पादन-तैयार संस्करण (1.0) 16 अक्टूबर 2014 को उपलब्ध कराया गया था।<ref name="release-1.0.0" />
*'''डॉकर झुंड''' डॉकटर कंटेनरों के लिए देशी [[कंप्यूटर क्लस्टर|क्लस्टर]] कार्यक्षमता प्रदान करता है, जो डॉकर इंजनों के समूह को एकल वर्चुअल डॉकर इंजन में बदल देता है।<ref name="container-orchestration-tools" /> डॉकर 1.12 और उच्चतर में, झुंड मोड को डॉकर इंजन के साथ एकीकृत किया गया है।<ref name="docker-swarm" /> <code>डॉकर झुंड</code> और सीएलआई<ref name="Auto38-3" /> उपयोगिता उपयोगकर्ताओं को झुंड कंटेनर चलाने, डिस्कवरी टोकन बनाने, झुंड में सूचीबद्ध नोड्स करने आदि की अनुमति देती है।<ref name="swarm-cli-ref" /> <code>डॉकर नोड</code> सीएलआई उपयोगिता उपयोगकर्ताओं को झुंड में नोड्स को प्रबंधित करने के लिए विभिन्न कमांड चलाने की अनुमति देती है, उदाहरण के लिए, नोड्स को झुंड में सूचीबद्ध करना, नोड्स को अपडेट करना और झुंड से नोड्स को हटाना।<ref name="docker-node" /> डॉकर रफ़ [[आम सहमति (कंप्यूटर विज्ञान)|सर्वसम्मति]] एल्गोरिथम का उपयोग करके झुंडों का प्रबंधन करता है। रफट के अनुसार, अपडेट किए जाने के लिए, अधिकांश झुंड नोड्स को अपडेट पर सहमत होने की आवश्यकता है।<ref name="aquasec" /><ref name="raft" />
*'''डॉकटर परिमाण''' डेटा की स्वतंत्र दृढ़ता की सुविधा देता है, जिससे कंटेनर के हटाए जाने या फिर से बनाए जाने के बाद भी डेटा बना रहता है।<ref name="myunidockerguide2" />


* डॉकर कंपोज़ मल्टी-कंटेनर डॉकर एप्लिकेशन को परिभाषित करने और चलाने के लिए एक उपकरण है।<ref name="compose-overview" />यह एप्लिकेशन की सेवाओं को कॉन्फ़िगर करने के लिए [[YAML]] फ़ाइलों का उपयोग करता है और एक कमांड के साथ सभी कंटेनरों का निर्माण और स्टार्ट-अप प्रक्रिया करता है। <code>docker''-compose''</code> ई> सीएलआई उपयोगिता उपयोगकर्ताओं को एक साथ कई कंटेनरों पर कमांड चलाने की अनुमति देती है, उदाहरण के लिए, छवियों का निर्माण, [[अनुमापकता]] कंटेनर, रुके हुए कंटेनर चलाना, और बहुत कुछ।<ref name="compose-cli-ref" />छवि हेरफेर, या उपयोगकर्ता-संवादात्मक विकल्पों से संबंधित आदेश डॉकर कंपोज़ में प्रासंगिक नहीं हैं क्योंकि वे एक कंटेनर को संबोधित करते हैं।<ref name="codeship" />Docker-compose.yml फ़ाइल का उपयोग एप्लिकेशन की सेवाओं को परिभाषित करने के लिए किया जाता है और इसमें विभिन्न कॉन्फ़िगरेशन विकल्प शामिल होते हैं। उदाहरण के लिए, द <code>build</code> विकल्प कॉन्फ़िगरेशन विकल्पों को परिभाषित करता है जैसे कि डॉकरफाइल पथ, <code>command</code> विकल्प एक को डिफ़ॉल्ट डॉकर कमांड को ओवरराइड करने की अनुमति देता है, और बहुत कुछ।<ref name="compose-v3-ref" />डॉकर कंपोज़ (संस्करण 0.0.1) का पहला सार्वजनिक बीटा संस्करण 21 दिसंबर, 2013 को जारी किया गया था।<ref name="release-0.0.1" />पहला उत्पादन-तैयार संस्करण (1.0) 16 अक्टूबर 2014 को उपलब्ध कराया गया था।<ref name="release-1.0.0" />* डॉकर झुंड डॉकटर कंटेनरों के लिए देशी [[कंप्यूटर क्लस्टर]] कार्यक्षमता प्रदान करता है, जो डॉकर इंजनों के एक समूह को एकल वर्चुअल डॉकर इंजन में बदल देता है।<ref name="container-orchestration-tools" />डॉकर 1.12 और उच्चतर में, स्वार्म मोड को डॉकर इंजन के साथ एकीकृत किया गया है।<ref name="docker-swarm" />  <code>docker swarm</code> और> सीएलआई<ref name="Auto38-3" />उपयोगिता उपयोगकर्ताओं को स्वार्म कंटेनर चलाने, डिस्कवरी टोकन बनाने, क्लस्टर में नोड्स सूचीबद्ध करने आदि की अनुमति देती है।<ref name="swarm-cli-ref" />  <code>docker node</code> ई> सीएलआई उपयोगिता उपयोगकर्ताओं को झुंड में नोड्स को प्रबंधित करने के लिए विभिन्न कमांड चलाने की अनुमति देती है, उदाहरण के लिए, नोड्स को झुंड में सूचीबद्ध करना, नोड्स को अपडेट करना और झुंड से नोड्स को हटाना।<ref name="docker-node" />डॉकर रफ़ (कंप्यूटर विज्ञान) [[आम सहमति (कंप्यूटर विज्ञान)]] एल्गोरिथम का उपयोग करके झुंडों का प्रबंधन करता है। रफट के अनुसार, अद्यतन किए जाने के लिए, अधिकांश झुंड नोड्स को अद्यतन पर सहमत होने की आवश्यकता है।<ref name="aquasec" /><ref name="raft" />* डॉकटर वॉल्यूम डेटा की स्वतंत्र दृढ़ता की सुविधा देता है, जिससे कंटेनर के हटाए जाने या फिर से बनाए जाने के बाद भी डेटा बना रहता है।<ref name="myunidockerguide2" />
=== इतिहास ===
 
डॉकर इंक की स्थापना [[वाई कॉम्बिनेटर]] समर 2010 स्टार्टअप इनक्यूबेटर ग्रुप के दौरान कामेल फौनाडी, सोलोमन हाइक्स और सेबेस्टियन पहल द्वारा की गई थी <ref name="Auto38-4" /> और 2011 में लॉन्च किया गया।<ref name="Auto38-5" /> यह स्टार्टअप भी फाउंडर के डेन फर्स्ट कॉहोर्ट में 12 स्टार्टअप्स में से एक था।<ref name="Auto38-6" /> हाइक्स ने फ्रांस में डॉकर परियोजना को [[dotCloud|डॉटक्लाउड]] के भीतर एक आंतरिक परियोजना के रूप में शुरू किया, जो एक सेवा कंपनी के रूप में एक मंच है।<ref name="dotcloud" />
 
== इतिहास ==


डॉकर इंक की स्थापना कामेल फौनाडी, सोलोमन हाइक्स और सेबेस्टियन पहल ने की थी<ref name="Auto38-4" />[[वाई कॉम्बिनेटर]] समर 2010 स्टार्टअप इनक्यूबेटर ग्रुप के दौरान और 2011 में लॉन्च किया गया।<ref name="Auto38-5" />स्टार्टअप भी फाउंडर के डेन फर्स्ट कॉहोर्ट में 12 स्टार्टअप्स में से एक था।<ref name="Auto38-6" />हाइक्स ने फ्रांस में [[dotCloud]] के भीतर एक आंतरिक परियोजना के रूप में डॉकर परियोजना शुरू की, एक सेवा के रूप में एक मंच | एक सेवा कंपनी के रूप में मंच।<ref name="dotcloud" />
डॉकर ने 2013 मे [[PyCon|पायकॉन]] में सांता क्लारा में सार्वजनिक रूप से शुरुआत की।<ref name="docker-announcement" /> इसे मार्च 2013 में [[खुला स्त्रोत|ओपन-सोर्स]] के रूप में जारी किया गया था।<ref name="infoq-2013-03" /> उस समय, यह एलएक्ससी को अपने डिफ़ॉल्ट निष्पादन वातावरण के रूप में उपयोग करता था। एक साल बाद, संस्करण 0.9 की रिलीज़ के साथ, डॉकर ने एलएक्ससी को अपने स्वयं के घटक, लिबकंटेनर के साथ बदल दिया, जिसे गो प्रोग्रामिंग भाषा में लिखा गया था।<ref name="zdnet-7000030397" /><ref name="infoq-2014-03" />
 
डॉकर ने 2013 में [[PyCon]] में सांता क्लारा में जनता के लिए शुरुआत की।<ref name="docker-announcement" />इसे मार्च 2013 में [[खुला स्त्रोत]] के रूप में जारी किया गया था।<ref name="infoq-2013-03" />उस समय, यह LXC को अपने डिफ़ॉल्ट निष्पादन वातावरण के रूप में उपयोग करता था। एक साल बाद, संस्करण 0.9 की रिलीज़ के साथ, डॉकर ने LXC को अपने स्वयं के घटक, लिबकंटेनर के साथ बदल दिया, जिसे गो (प्रोग्रामिंग भाषा) प्रोग्रामिंग भाषा में लिखा गया था।<ref name="zdnet-7000030397" /><ref name="infoq-2014-03" />


2017 में, डॉकर ने खुले अनुसंधान और विकास के लिए मोबी प्रोजेक्ट बनाया।<ref name="moby" />
2017 में, डॉकर ने खुले अनुसंधान और विकास के लिए मोबी प्रोजेक्ट बनाया।<ref name="moby" />


 
=== अभिग्रहण ===
 
* 19 सितंबर, 2013: [[Red Hat|रेड हैट]] और डॉकर ने फेडोरारेड, रेड हैट एंटरप्राइज लिनक्स(आरएचईएल) और [[OpenShift|ओपनशिफ्ट]] के आसपास सहयोग की घोषणा की।<ref name="techcrunch-2013-09" />
=== गोद लेना ===
*15 अक्टूबर 2014: [[माइक्रोसॉफ्ट]] ने [[विंडोज सर्वर]] में डॉकर इंजन के एकीकरण के साथ-साथ विंडोज में डॉकर क्लाइंट भूमिका के लिए मूल समर्थन की घोषणा की।<ref name="docker-windows-server" /><ref name="docker-microsoft" />
 
*नवंबर 2014: [[Amazon Elastic Compute Cloud]] (EC2) के लिए डॉकटर कंटेनर सेवाओं की घोषणा की गई।<ref name="amazon-ec2" />
* 19 सितंबर, 2013: [[Red Hat]] और Docker ने Fedora (ऑपरेटिंग सिस्टम), [[Red Hat Enterprise Linux]] (RHEL) और [[OpenShift]] के आसपास सहयोग की घोषणा की।<ref name="techcrunch-2013-09" />* 15 अक्टूबर 2014: [[माइक्रोसॉफ्ट]] ने [[विंडोज सर्वर]] में डॉकर इंजन के एकीकरण के साथ-साथ विंडोज में डॉकर क्लाइंट भूमिका के लिए मूल समर्थन की घोषणा की।<ref name="docker-windows-server" /><ref name="docker-microsoft" />* नवंबर 2014: [[Amazon Elastic Compute Cloud]] (EC2) के लिए डॉकटर कंटेनर सेवाओं की घोषणा की गई।<ref name="amazon-ec2" />* 10 नवंबर 2014: डॉकर ने [[स्ट्रैटोस्केल]] के साथ साझेदारी की घोषणा की।<ref name="stratoscale" />* 4 दिसंबर 2014: [[आईबीएम]] ने डॉकर के साथ एक रणनीतिक साझेदारी की घोषणा की जो डॉकर को आईबीएम क्लाउड के साथ और अधिक निकटता से एकीकृत करने में सक्षम बनाती है।<ref name="ibm-partnership" />* 22 जून 2015: डॉकर और कई अन्य कंपनियों ने घोषणा की कि वे सॉफ्टवेयर कंटेनरों के लिए एक नए विक्रेता और ऑपरेटिंग-सिस्टम-स्वतंत्र मानक पर काम कर रहे हैं।<ref name="common-container-standard" /><ref name="open-container-project" />* दिसंबर 2015: Oracle क्लाउड ने Docker कंटेनर स्टार्टअप, [[StackEngine]] का अधिग्रहण करने के बाद Docker कंटेनर समर्थन जोड़ा।<ref>{{Cite web|last=McLaughlin|first=Kevin|date=2015-12-22|title=Oracle Acquires Docker Container Startup StackEngine, Plans Austin-Based Cloud Computing Center|url=https://www.crn.com/news/cloud/300079216/oracle-acquires-docker-container-startup-stackengine-plans-austin-based-cloud-computing-center.htm|access-date=2022-01-13|website=CRN}}</ref>
*10 नवंबर 2014: डॉकर ने [[स्ट्रैटोस्केल]] के साथ साझेदारी की घोषणा की।<ref name="stratoscale" />
* अप्रैल 2016: विंडॉक्स, एक [[स्वतंत्र सॉफ्टवेयर विक्रेता]] ने विंडोज के लिए डॉकर के ओपन सोर्स प्रोजेक्ट का एक पोर्ट जारी किया, जो विंडोज सर्वर 2012 आर2 और सर्वर 2016 का समर्थन करता है, एसक्यूएल सर्वर 2008 के सभी संस्करणों के साथ।<ref name="InfoWorld-Windocks" />* मई 2016: विश्लेषण ने निम्नलिखित संगठनों को डॉकर के मुख्य योगदानकर्ताओं के रूप में दिखाया: डॉकर टीम, [[सिस्को सिस्टम्स]], [[गूगल]], [[हुवाई]], आईबीएम, माइक्रोसॉफ्ट और रेड हैट।<ref name="gist-project-stats" />* 8 जून, 2016: माइक्रोसॉफ्ट ने घोषणा की कि डॉकर को अब [[विंडोज 10]] पर मूल रूप से इस्तेमाल किया जा सकता है।<ref name="win10-insider-preview" />* जनवरी 2017: [[Linkedin]] प्रोफाइल के विश्लेषण में उल्लेख किया गया है कि 2016 में डॉकर की उपस्थिति में 160% की वृद्धि हुई है।<ref name="linkedin-pulse" />* 6 मई, 2019: माइक्रोसॉफ्ट ने लिनक्स (डब्ल्यूएसएल) के लिए विंडोज सबसिस्टम के दूसरे संस्करण की घोषणा की। Docker, Inc. ने घोषणा की कि उसने WSL 2 पर चलने वाले Windows के लिए Docker के एक संस्करण पर काम करना शुरू कर दिया है।<ref name="Vaughan-Nichols" />विशेष रूप से, इसका मतलब है कि डॉकर विंडोज 10 होम पर चल सकता है (पहले यह हाइपर-वी का उपयोग करने के बाद से विंडोज प्रो और एंटरप्राइज तक सीमित था)।
*4 दिसंबर 2014: [[आईबीएम]] ने डॉकर के साथ एक रणनीतिक साझेदारी की घोषणा की जो डॉकर को आईबीएम क्लाउड के साथ और अधिक निकटता से एकीकृत करने में सक्षम बनाती है।<ref name="ibm-partnership" />
* अगस्त 2020: माइक्रोसॉफ्ट ने विंडोज 10 वर्जन 1903 और 1909 में WSL2 के बैकपोर्ट की घोषणा की (पहले WSL2 केवल वर्जन 2004 पर उपलब्ध था)<ref name="WSL2-backport" />और डॉकर डेवलपर्स ने इन प्लेटफॉर्म्स के लिए डॉकर की उपलब्धता की घोषणा की।<ref name="docker-backport" />*अगस्त 2021: विंडोज और मैकओएस के लिए डॉकर डेस्कटॉप अब एंटरप्राइज यूजर्स के लिए फ्री नहीं है। डॉकर ने बड़े व्यावसायिक ग्राहकों के लिए मुफ्त डॉकर डेस्कटॉप का उपयोग समाप्त कर दिया और इसकी मुफ्त योजना को एक व्यक्तिगत योजना के साथ बदल दिया। लिनक्स वितरण पर डॉकर अप्रभावित रहता है।<ref>{{Cite web|last=Carey|first=Scott|date=2021-08-31|title=Docker Desktop is no longer free for enterprise users|url=https://www.infoworld.com/article/3630393/docker-desktop-is-no-longer-free-for-enterprise-users.html|access-date=2021-10-18|website=InfoWorld|language=en}}</ref>
*22 जून 2015: डॉकर और कई अन्य कंपनियों ने घोषणा की कि वे सॉफ्टवेयर कंटेनरों के लिए एक नए विक्रेता और ऑपरेटिंग-सिस्टम-स्वतंत्र मानक पर काम कर रहे हैं।<ref name="common-container-standard" /><ref name="open-container-project" />
 
*दिसंबर 2015: ओरेकल क्लाउड ने डॉकर कंटेनर स्टार्टअप, [[StackEngine|स्टैकइंजिन]] का अधिग्रहण करने के बाद डॉकर कंटेनर समर्थन जोड़ा।<ref>{{Cite web|last=McLaughlin|first=Kevin|date=2015-12-22|title=Oracle Acquires Docker Container Startup StackEngine, Plans Austin-Based Cloud Computing Center|url=https://www.crn.com/news/cloud/300079216/oracle-acquires-docker-container-startup-stackengine-plans-austin-based-cloud-computing-center.htm|access-date=2022-01-13|website=CRN}}</ref>
* अप्रैल 2016: विंडॉक्स, [[स्वतंत्र सॉफ्टवेयर विक्रेता]] ने विंडोज के लिए डॉकर्स ओपन सोर्स प्रोजेक्ट का एक पोर्ट जारी किया, जो एसक्यूएल सर्वर 2008 के सभी संस्करणों के साथ विंडोज सर्वर 2012 आर2 और सर्वर 2016 का समर्थन करता है।<ref name="InfoWorld-Windocks" />
*मई 2016: विश्लेषण ने निम्नलिखित संगठनों को डॉकर के मुख्य योगदानकर्ताओं के रूप में दिखाया: डॉकर टीम, [[सिस्को सिस्टम्स]], [[गूगल]], [[हुवाई]], आईबीएम, माइक्रोसॉफ्ट और रेड हैट।<ref name="gist-project-stats" />
*8 जून, 2016: माइक्रोसॉफ्ट ने घोषणा कि डॉकर को अब [[विंडोज 10]] पर मूल रूप से इस्तेमाल किया जा सकता है।<ref name="win10-insider-preview" />
*जनवरी 2017: [[Linkedin|लिंक्डइन]] प्रोफाइल के विश्लेषण में उल्लेख किया गया है कि 2016 में डॉकर की उपस्थिति में 160% की वृद्धि हुई है।<ref name="linkedin-pulse" />
*6 मई, 2019: माइक्रोसॉफ्ट ने लिनक्स (डब्ल्यूएसएल) के लिए विंडोज सबसिस्टम के दूसरे संस्करण की घोषणा की। डॉकर, इंक ने घोषणा कि उसने विंडोज के लिए डॉकर के एक संस्करण पर काम करना शुरू कर दिया है डब्ल्यूएसएल 2 पर चलने वाले विंडोज के लिए<ref name="Vaughan-Nichols" /> विशेष रूप से, इसका मतलब है कि डॉकर विंडोज 10 होम पर चल सकता है (पहले यह हाइपर-वी का उपयोग करने के बाद से विंडोज प्रो और एंटरप्राइज तक सीमित था)।
* अगस्त 2020: माइक्रोसॉफ्ट ने डब्ल्यूएसएल2 के विंडोज 10 संस्करण 1903 और 1909 (पहले डब्ल्यूएसएल2 केवल संस्करण 2004 पर उपलब्ध था) के लिए बैकपोर्ट की घोषणा की<ref name="WSL2-backport" /> और डॉकर डेवलपर्स ने इन प्लेटफॉर्म्स के लिए डॉकर की उपलब्धता की घोषणा की।<ref name="docker-backport" />
*अगस्त 2021: विंडोज और मैकओएस के लिए डॉकर डेस्कटॉप अब एंटरप्राइज यूजर्स के लिए फ्री नहीं है। डॉकर ने बड़े व्यावसायिक ग्राहकों के लिए मुफ्त डॉकर डेस्कटॉप का उपयोग समाप्त कर दिया और इसकी मुफ्त योजना को एक व्यक्तिगत योजना के साथ बदल दिया। लिनक्स वितरण पर डॉकर अप्रभावित रहता है।<ref>{{Cite web|last=Carey|first=Scott|date=2021-08-31|title=Docker Desktop is no longer free for enterprise users|url=https://www.infoworld.com/article/3630393/docker-desktop-is-no-longer-free-for-enterprise-users.html|access-date=2021-10-18|website=InfoWorld|language=en}}</ref>


== यह भी देखें ==
== यह भी देखें ==
Line 85: Line 72:
* ओएस-स्तर वर्चुअलाइजेशन
* ओएस-स्तर वर्चुअलाइजेशन
* [[सेवा घटक वास्तुकला]]
* [[सेवा घटक वास्तुकला]]
* [[विलक्षणता (सॉफ्टवेयर)]] - एचपीसी समूहों के लिए डॉकर विकल्प
* [[विलक्षणता (सॉफ्टवेयर)|विलक्षणता]] - एचपीसी समूहों के लिए डॉकर विकल्प
* [[ओपन कंटेनर पहल]]
* [[ओपन कंटेनर पहल|ओपन कंटेनर उपक्रम]]


== संदर्भ ==
== संदर्भ ==
Line 162: Line 149:
== बाहरी संबंध ==
== बाहरी संबंध ==


* {{official}}
* [https://developers.redhat.com/blog/2018/02/22/container-terminology-practical-introduction/ Container Terminology - ''Practical terminology'']
* [https://developers.redhat.com/blog/2018/02/22/container-terminology-practical-introduction/ Container Terminology - ''Practical terminology'']


{{Virtualization software}}
[[Category:2013 सॉफ्टवेयर]]
{{Linux containers}}
[[Category:Articles with invalid date parameter in template]]
[[Category: 2013 सॉफ्टवेयर]] [[Category: कंटेनरीकरण सॉफ्टवेयर]] [[Category: गो में मुफ्त सॉफ्टवेयर प्रोग्राम किया गया]] [[Category: मुफ्त सॉफ्टवेयर]] [[Category: मुफ्त वर्चुअलाइजेशन सॉफ्टवेयर]] [[Category: लिनक्स कंटेनरीकरण]] [[Category: ऑपरेटिंग सिस्टम सुरक्षा]] [[Category: ऑपरेटिंग सिस्टम प्रौद्योगिकी]] [[Category: लिनक्स के लिए वर्चुअलाइजेशन सॉफ्टवेयर]]
[[Category:CS1 English-language sources (en)]]
 
 
 
[[Category: Machine Translated Page]]
[[Category:Created On 17/02/2023]]
[[Category:Created On 17/02/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Pages using Infobox software with unknown parameters|प्रोग्रामिंग लैंग्वेजडॉकर (सॉफ्टवेयर)]]
[[Category:Pages with broken file links]]
[[Category:Pages with empty portal template]]
[[Category:Pages with script errors]]
[[Category:Portal templates with redlinked portals]]
[[Category:Short description with empty Wikidata description]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:Use mdy dates from September 2018]]
[[Category:ऑपरेटिंग सिस्टम प्रौद्योगिकी]]
[[Category:ऑपरेटिंग सिस्टम सुरक्षा]]
[[Category:कंटेनरीकरण सॉफ्टवेयर]]
[[Category:गो में मुफ्त सॉफ्टवेयर प्रोग्राम किया गया]]
[[Category:मुफ्त वर्चुअलाइजेशन सॉफ्टवेयर]]
[[Category:मुफ्त सॉफ्टवेयर]]
[[Category:लिनक्स कंटेनरीकरण]]
[[Category:लिनक्स के लिए वर्चुअलाइजेशन सॉफ्टवेयर]]

Latest revision as of 16:27, 19 October 2023

पूर्व लोगो

डॉकर प्लेटफ़ॉर्म सर्विस (PaaS) उत्पादों का एक सेट है जो 'कंटेनर' नामक पैकेज में सॉफ़्टवेयर वितरित करने के लिए ओएस-स्तर वर्चुअलाइज़ेशन का उपयोग करता है।[1] सेवा में निःशुल्क और प्रीमियम दोनों स्तर हैं। सॉफ्टवेयर जो कंटेनरों को होस्ट करता है उसे डॉकर इंजन कहा जाता है।[2] इसे पहली बार 2013 में शुरू किया गया था और इसे डॉकर, इंक द्वारा विकसित किया गया है।[3]

डॉकर एक ऐसा उपकरण है जिसका उपयोग हल्के कंटेनरों में अनुप्रयोगों की तैनाती को स्वचालित करने के लिए किया जाता है ताकि अनुप्रयोग विभिन्न वातावरणों में कुशलता से काम कर सकें।

पृष्ठभूमि

कंटेनर एक दूसरे से अलग होते हैं और अपने स्वयं के सॉफ़्टवेयर, पुस्तकालय और व्यवस्था का प्रारूप फ़ाइलों को बंडल करते हैं, वे अच्छी तरह से परिभाषित चैनलों के माध्यम से एक दूसरे के साथ संवाद कर सकते हैं।[4] क्योंकि सभी कंटेनर एकल ऑपरेटिंग सिस्टम कर्नेल की सेवाओं को साझा करते हैं, वे आभासी मशीनों की तुलना में कम संसाधनों का उपयोग करते हैं।[2]

ऑपरेशन

लिनक्स कर्नेल की वर्चुअलाइजेशन सुविधाओं तक पहुँचने के लिए डॉकर विभिन्न इंटरफेस का उपयोग कर सकता है।[5]

डॉकर एक एप्लिकेशन और उसकी निर्भरता को एक आभासी पात्र में पार्सल कर सकता है जो किसी भी लिनक्स, विंडोज या मैकओएस कंप्यूटर पर चल सकता है। यह एप्लिकेशन को विभिन्न स्थानों पर चलने में सक्षम बनाता है, जैसे ऑन-प्रिमाइसेस, सार्वजनिक रूप से (विकेन्द्रीकृत कंप्यूटिंग, वितरित कंप्यूटिंग और क्लाउड कम्प्यूटिंग देखें) या निजी क्लाउड।[6] लिनक्स पर चलते समय, डॉकर लिनक्स कर्नेल (जैसे सीग्रुप्स और कर्नेल लिनक्स नामस्थान) की संसाधन अलगाव सुविधाओं और संघ-सक्षम फ़ाइल सिस्टम (जैसे ओवरलेएफएस) का उपयोग करता है। [7] वास्तविक मशीनों को शुरू करने और बनाए रखने के ओवरहेड से बचने के लिए कंटेनरों को एक ही लिनक्स उदाहरण के भीतर चलाने की अनुमति देने के लिए।[8] मैकओएस पर डॉकर कंटेनरों को चलाने के लिए लिनक्स वर्चुअल मशीन का उपयोग करता है।[9]

क्योंकि डॉकटर कंटेनर हल्के होते हैं, सर्वर या वर्चुअल मशीन एक साथ कई कंटेनर चला सकती है।[10] 2018 के विश्लेषण में पाया गया कि विशिष्ट डॉकर उपयोग के मामले में प्रति होस्ट आठ कंटेनर चलाना शामिल है, और विश्लेषण किए गए एक चौथाई संगठन प्रति होस्ट 18 या अधिक चलाते हैं।[11]इसे रास्पबेरी पाई जैसे सिंगल बोर्ड कंप्यूटर पर भी इंस्टॉल किया जा सकता है।[12]

लिनक्स कर्नेल का समर्थन ज्यादातर नामस्थानों के लिए करता है[13] ऑपरेटिंग वातावरण के एप्लिकेशन के दृश्य को अलग करता है, जिसमें प्रोसेस ट्री, नेटवर्क, यूजर आईडी और माउंटेड फाइल सिस्टम शामिल हैं, जबकि कर्नेल के cgroups मेमोरी और सीपीयू के लिए सीमित संसाधन प्रदान करते हैं।[14] संस्करण 0.9 के बाद से, डॉकर में अपना स्वयं का घटक शामिल है (libcontainer कहा जाता है) लिबविर्ट, एलएक्ससी, और systemd-nspawn के माध्यम से अमूर्त वर्चुअलाइजेशन इंटरफेस का उपयोग करने के अलावा, लिनक्स कर्नेल द्वारा सीधे प्रदान की गई वर्चुअलाइजेशन सुविधाओं का उपयोग करने के लिए।[15][5][6][16]

डॉकटरएक हल्के कंटेनर प्रदान करने के लिए एक उच्च-स्तरीय एपीआई लागू करता है जो अलगाव में प्रक्रियाओं को चलाता है।[17]

लाइसेंसिंग मॉडल

  • डॉकर इंजन को अपाचे लाइसेंस 2.0 के तहत लाइसेंस दिया गया है। डॉकर डेस्कटॉप जीएनयू जनरल पब्लिक लाइसेंस के तहत लाइसेंस प्राप्त कुछ घटकों को वितरित करता है।
  • डॉकरफाइल फाइलों को ओपन-सोर्स लाइसेंस के तहत ही लाइसेंस दिया जा सकता है। यह महसूस करना महत्वपूर्ण है कि इस लाइसेंस स्टेटमेंट का दायरा केवल डॉकरफाइल है न कि कंटेनर इमेज।

घटक

सेवा की पेशकश के रूप में डॉकर सॉफ्टवेयर में तीन घटक होते हैं

  • सॉफ्टवेयर: डॉकर डेमन, जिसे डॉकर्ड कहा जाता है, एक सतत प्रक्रिया है जो डॉकर कंटेनरों का प्रबंधन करती है और कंटेनर ऑब्जेक्ट्स को संभालती है। डेमन डॉकर इंजन एपीआई के माध्यम से भेजे गए अनुरोधों को सुनता है।[18][19]डॉकर ग्राहक प्रोग्राम, जिसे डॉकर कहा जाता है, कमांड-लाइन इंटरफेस (सीएलआई) प्रदान करता है, जो उपयोगकर्ताओं को डॉकर डेमॉन के साथ बातचीत करने की अनुमति देता है।[18][20]
  • ऑब्जेक्ट्स: डॉकर ऑब्जेक्ट्स विभिन्न संस्थाएं हैं। जिनका उपयोग डॉकर में एप्लिकेशन को इकट्ठा करने के लिए उपयोग की जाने वाली डॉकर वस्तुओं के मुख्य वर्ग चित्र, कंटेनर और सेवाएँ हैं।[18]
  • डॉकटर कंटेनर मानकीकृत, संपुटित वातावरण है जो अनुप्रयोगों को चलाता है।[21] कंटेनर को डॉकटर एपीआई या सीएलआई का उपयोग करके प्रबंधित किया जाता है।[18]
  • डॉकर इमेज एक रीड-ओनली टेम्प्लेट है जिसका इस्तेमाल कंटेनर बनाने के लिए किया जाता है। छवियों का उपयोग एप्लिकेशन को स्टोर और शिप करने के लिए किया जाता है।[18]
  • एक डॉकर सेवा कंटेनरों को कई डॉकर डेमॉन में स्केल करने की अनुमति देती है। परिणाम को एक झुंड के रूप में जाना जाता है, सहयोगी डेमॉन का एक सेट जो डॉकर एपीआई के माध्यम से संचार करता है।[18]
  • पंजीकरण: डॉकर पंजीकरण डॉकर छवियों के लिए भंडार है। डॉकर क्लाइंट उपयोग के लिए छवियों को डाउनलोड ("पुल") करने के लिए पंजीकरण से जुड़ते हैं या उनके द्वारा बनाई गई छवियों को अपलोड ("पुश") करते हैं। पंजीकरण सार्वजनिक या निजी हो सकती हैं। मुख्य सार्वजनिक पंजीकरण डॉकर हब है। डॉकर हब डिफ़ॉल्ट पंजीकरण है जहां डॉकर छवियों की तलाश करता है।[18][22] डॉकर पंजीकरण भी घटनाओं के आधार पर सूचनाएं बनाने की अनुमति देती हैं।[23]

उपकरण

  • डॉकर कंपोज़ बहु-कंटेनर डॉकर अनुप्रयोगों को परिभाषित करने और चलाने के लिए उपकरण है।[24] यह आवेदन की सेवाओं को समनुरूप करने के लिए YAML फ़ाइलों का उपयोग करता है और कमांड के साथ सभी कंटेनरों का निर्माण और स्टार्ट-अप प्रक्रिया करता है। डॉकटर-कंपोज़ सीएलआई उपयोगिता उपयोगकर्ताओं को एक साथ कई कंटेनरों पर कमांड चलाने की अनुमति देती है, उदाहरण के लिए, छवियों का निर्माण, अनुमापकता कंटेनर, रोके गए कंटेनरों को चलाना, और बहुत कुछ।[25] Docker-compose.yml फ़ाइल का उपयोग एप्लिकेशन की सेवाओं को परिभाषित करने के लिए किया जाता है और इसमें विभिन्न कॉन्फ़िगरेशन विकल्प शामिल होते हैं। छवि हेरफेर, या उपयोगकर्ता-संवादात्मक विकल्पों से संबंधित आदेश डॉकर कंपोज़ में प्रासंगिक नहीं हैं क्योंकि वे एक कंटेनर को संबोधित करते हैं।[26] उदाहरण के लिए, बिल्ड विकल्प विन्यास विकल्पों को परिभाषित करता है जैसे कि डॉकरफाइल पथ, कमांड विकल्प को डिफ़ॉल्ट डॉकर कमांड को रद्द करने की अनुमति देता है, और बहुत कुछ।[27] डॉकर कंपोज़ (संस्करण 0.0.1) का पहला सार्वजनिक बीटा संस्करण 21 दिसंबर, 2013 को जारी किया गया था।[28] पहला उत्पादन-तैयार संस्करण (1.0) 16 अक्टूबर 2014 को उपलब्ध कराया गया था।[29]
  • डॉकर झुंड डॉकटर कंटेनरों के लिए देशी क्लस्टर कार्यक्षमता प्रदान करता है, जो डॉकर इंजनों के समूह को एकल वर्चुअल डॉकर इंजन में बदल देता है।[30] डॉकर 1.12 और उच्चतर में, झुंड मोड को डॉकर इंजन के साथ एकीकृत किया गया है।[31] डॉकर झुंड और सीएलआई[32] उपयोगिता उपयोगकर्ताओं को झुंड कंटेनर चलाने, डिस्कवरी टोकन बनाने, झुंड में सूचीबद्ध नोड्स करने आदि की अनुमति देती है।[33] डॉकर नोड सीएलआई उपयोगिता उपयोगकर्ताओं को झुंड में नोड्स को प्रबंधित करने के लिए विभिन्न कमांड चलाने की अनुमति देती है, उदाहरण के लिए, नोड्स को झुंड में सूचीबद्ध करना, नोड्स को अपडेट करना और झुंड से नोड्स को हटाना।[34] डॉकर रफ़ सर्वसम्मति एल्गोरिथम का उपयोग करके झुंडों का प्रबंधन करता है। रफट के अनुसार, अपडेट किए जाने के लिए, अधिकांश झुंड नोड्स को अपडेट पर सहमत होने की आवश्यकता है।[35][36]
  • डॉकटर परिमाण डेटा की स्वतंत्र दृढ़ता की सुविधा देता है, जिससे कंटेनर के हटाए जाने या फिर से बनाए जाने के बाद भी डेटा बना रहता है।[37]

इतिहास

डॉकर इंक की स्थापना वाई कॉम्बिनेटर समर 2010 स्टार्टअप इनक्यूबेटर ग्रुप के दौरान कामेल फौनाडी, सोलोमन हाइक्स और सेबेस्टियन पहल द्वारा की गई थी [38] और 2011 में लॉन्च किया गया।[39] यह स्टार्टअप भी फाउंडर के डेन फर्स्ट कॉहोर्ट में 12 स्टार्टअप्स में से एक था।[40] हाइक्स ने फ्रांस में डॉकर परियोजना को डॉटक्लाउड के भीतर एक आंतरिक परियोजना के रूप में शुरू किया, जो एक सेवा कंपनी के रूप में एक मंच है।[41]

डॉकर ने 2013 मे पायकॉन में सांता क्लारा में सार्वजनिक रूप से शुरुआत की।[42] इसे मार्च 2013 में ओपन-सोर्स के रूप में जारी किया गया था।[17] उस समय, यह एलएक्ससी को अपने डिफ़ॉल्ट निष्पादन वातावरण के रूप में उपयोग करता था। एक साल बाद, संस्करण 0.9 की रिलीज़ के साथ, डॉकर ने एलएक्ससी को अपने स्वयं के घटक, लिबकंटेनर के साथ बदल दिया, जिसे गो प्रोग्रामिंग भाषा में लिखा गया था।[15][43]

2017 में, डॉकर ने खुले अनुसंधान और विकास के लिए मोबी प्रोजेक्ट बनाया।[44]

अभिग्रहण

  • 19 सितंबर, 2013: रेड हैट और डॉकर ने फेडोरारेड, रेड हैट एंटरप्राइज लिनक्स(आरएचईएल) और ओपनशिफ्ट के आसपास सहयोग की घोषणा की।[45]
  • 15 अक्टूबर 2014: माइक्रोसॉफ्ट ने विंडोज सर्वर में डॉकर इंजन के एकीकरण के साथ-साथ विंडोज में डॉकर क्लाइंट भूमिका के लिए मूल समर्थन की घोषणा की।[46][47]
  • नवंबर 2014: Amazon Elastic Compute Cloud (EC2) के लिए डॉकटर कंटेनर सेवाओं की घोषणा की गई।[48]
  • 10 नवंबर 2014: डॉकर ने स्ट्रैटोस्केल के साथ साझेदारी की घोषणा की।[49]
  • 4 दिसंबर 2014: आईबीएम ने डॉकर के साथ एक रणनीतिक साझेदारी की घोषणा की जो डॉकर को आईबीएम क्लाउड के साथ और अधिक निकटता से एकीकृत करने में सक्षम बनाती है।[50]
  • 22 जून 2015: डॉकर और कई अन्य कंपनियों ने घोषणा की कि वे सॉफ्टवेयर कंटेनरों के लिए एक नए विक्रेता और ऑपरेटिंग-सिस्टम-स्वतंत्र मानक पर काम कर रहे हैं।[51][52]
  • दिसंबर 2015: ओरेकल क्लाउड ने डॉकर कंटेनर स्टार्टअप, स्टैकइंजिन का अधिग्रहण करने के बाद डॉकर कंटेनर समर्थन जोड़ा।[53]
  • अप्रैल 2016: विंडॉक्स, स्वतंत्र सॉफ्टवेयर विक्रेता ने विंडोज के लिए डॉकर्स ओपन सोर्स प्रोजेक्ट का एक पोर्ट जारी किया, जो एसक्यूएल सर्वर 2008 के सभी संस्करणों के साथ विंडोज सर्वर 2012 आर2 और सर्वर 2016 का समर्थन करता है।[54]
  • मई 2016: विश्लेषण ने निम्नलिखित संगठनों को डॉकर के मुख्य योगदानकर्ताओं के रूप में दिखाया: डॉकर टीम, सिस्को सिस्टम्स, गूगल, हुवाई, आईबीएम, माइक्रोसॉफ्ट और रेड हैट।[55]
  • 8 जून, 2016: माइक्रोसॉफ्ट ने घोषणा कि डॉकर को अब विंडोज 10 पर मूल रूप से इस्तेमाल किया जा सकता है।[56]
  • जनवरी 2017: लिंक्डइन प्रोफाइल के विश्लेषण में उल्लेख किया गया है कि 2016 में डॉकर की उपस्थिति में 160% की वृद्धि हुई है।[57]
  • 6 मई, 2019: माइक्रोसॉफ्ट ने लिनक्स (डब्ल्यूएसएल) के लिए विंडोज सबसिस्टम के दूसरे संस्करण की घोषणा की। डॉकर, इंक ने घोषणा कि उसने विंडोज के लिए डॉकर के एक संस्करण पर काम करना शुरू कर दिया है डब्ल्यूएसएल 2 पर चलने वाले विंडोज के लिए[58] विशेष रूप से, इसका मतलब है कि डॉकर विंडोज 10 होम पर चल सकता है (पहले यह हाइपर-वी का उपयोग करने के बाद से विंडोज प्रो और एंटरप्राइज तक सीमित था)।
  • अगस्त 2020: माइक्रोसॉफ्ट ने डब्ल्यूएसएल2 के विंडोज 10 संस्करण 1903 और 1909 (पहले डब्ल्यूएसएल2 केवल संस्करण 2004 पर उपलब्ध था) के लिए बैकपोर्ट की घोषणा की[59] और डॉकर डेवलपर्स ने इन प्लेटफॉर्म्स के लिए डॉकर की उपलब्धता की घोषणा की।[60]
  • अगस्त 2021: विंडोज और मैकओएस के लिए डॉकर डेस्कटॉप अब एंटरप्राइज यूजर्स के लिए फ्री नहीं है। डॉकर ने बड़े व्यावसायिक ग्राहकों के लिए मुफ्त डॉकर डेस्कटॉप का उपयोग समाप्त कर दिया और इसकी मुफ्त योजना को एक व्यक्तिगत योजना के साथ बदल दिया। लिनक्स वितरण पर डॉकर अप्रभावित रहता है।[61]

यह भी देखें

संदर्भ

  1. O'Gara, Maureen (July 26, 2013). "Ben Golub, Who Sold Gluster to Red Hat, Now Running dotCloud". SYS-CON Media. Archived from the original on September 13, 2019.
  2. 2.0 2.1 "What is a Container?". docker.com. Docker, Inc. Retrieved May 13, 2019.
  3. Ratan, Vivek (February 8, 2017). "Docker: A Favourite in the DevOps World". Open Source For U. Retrieved June 14, 2017.
  4. "Docker frequently asked questions (FAQ)". March 2, 2019.
  5. 5.0 5.1 "Docker 0.9: Introducing execution drivers and libcontainer". Docker Blog. Docker, Inc. March 10, 2014. Retrieved January 20, 2015.
  6. 6.0 6.1 Noyes, Katherine (August 1, 2013). "Docker: A 'Shipping Container' for Linux Code". Linux.com. Archived from the original on August 8, 2013. Retrieved August 9, 2013.
  7. "Select a storage driver documentation". Docker documentation. Archived from the original on December 6, 2016. Retrieved December 7, 2016.
  8. "Docker Documentation: Kernel Requirements". docker.readthedocs.org. January 4, 2014. Archived from the original on August 21, 2014. Retrieved August 20, 2014.
  9. "Get started with Docker for Mac". docker.com. Docker, Inc. Retrieved September 27, 2018.
  10. K., Chris (14 January 2019). "Lightweight Windows containers: Using Docker process isolation in Windows 10". Poweruser. Retrieved 2 August 2019. more "lightweight" real containers (via so called process-isolation), where the containerized processes are running directly on the host system — all processes on the host and in the containers are sharing the same Windows kernel. This is similar to how containers on Linux work.
  11. "8 surprising facts about real Docker adoption". Datadog. June 2018. Retrieved September 4, 2019.
  12. Gupta, Devender (October 13, 2022). "How to Install Docker on Raspberry Pi". Gizmoxo (in English). Retrieved October 15, 2022.
  13. Walsh, Dan (September 15, 2014). "Yet Another Reason Containers Don't Contain: Kernel Keyrings". projectatomic.io. Retrieved April 13, 2015.
  14. "Limit a container's resources". Docker Documentation. Retrieved March 7, 2018.
  15. 15.0 15.1 Vaughan-Nichols, Steven J. (June 11, 2014). "Docker libcontainer unifies Linux container powers". ZDNet. Retrieved July 30, 2014.
  16. "libcontainer – reference implementation for containers". docker/libcontainer repo. Docker, Inc. Retrieved July 30, 2014 – via GitHub.
  17. 17.0 17.1 Avram, Abel (March 27, 2013). "Docker: Automated and Consistent Software Deployments". InfoQ. Retrieved August 9, 2013.
  18. 18.0 18.1 18.2 18.3 18.4 18.5 18.6 "Docker overview". Docker Documentation. Docker, Inc. Retrieved February 26, 2018.
  19. "dockerd". Docker Documentation. Docker, Inc. Retrieved February 26, 2018.
  20. "Use the Docker command line". Docker Documentation. Docker, Inc. Retrieved February 26, 2018.
  21. "The Docker Ecosystem: An Introduction to Common Components". www.digitalocean.com. Retrieved February 26, 2018.
  22. "About Registry". Docker Documentation. Docker, Inc. Retrieved February 26, 2018.
  23. "Work with notifications". March 2, 2019.
  24. "Overview of Docker Compose". Docker Documentation. Docker, Inc. Retrieved July 6, 2017.
  25. "Compose command-line reference". Docker Documentation. Docker, Inc. Retrieved February 28, 2018.
  26. "Orchestrate Containers for Development with Docker Compose". via @codeship. May 27, 2015. Retrieved February 28, 2018.
  27. "Compose file version 3 reference". Docker Documentation. Docker, Inc. Retrieved February 28, 2018.
  28. Firshman, Ben (December 21, 2013). "Release 0.0.1". docker/compose. Docker, Inc. – via GitHub.
  29. Prasad, Aanand (October 16, 2014). "Release 1.0.0". docker/compose. Docker, Inc. – via GitHub.
  30. "8 Container Orchestration Tools to Know". Linux.com. April 12, 2017. Retrieved July 6, 2017.
  31. "Docker Swarm". Docker Documentation. Docker, Inc. Retrieved July 6, 2017.
  32. "Docker swarm". June 4, 2021.
  33. "Swarm command-line reference". Docker Documentation. Docker, Inc. Retrieved February 28, 2018.
  34. "docker node". Docker Documentation. Retrieved February 28, 2018.
  35. "Docker Swarm 101". aquasec.com. Retrieved February 28, 2018.
  36. "Raft Consensus Algorithm". raft.github.io. Retrieved February 28, 2018.
  37. "Docker Desktop & Docker Guides". Docker Guide (in English). April 25, 2021. Retrieved April 25, 2021.
  38. Hykes, Solomon (March 28, 2018). "Au Revoir". docker.com. Archived from the original on January 12, 2021. Retrieved January 23, 2021.
  39. "About the dotCloud Platform". dotCloud. Archived from the original on July 2, 2014. Retrieved June 23, 2019.
  40. Seigler, MG (January 10, 2011). "Founders Den: A Private Clubhouse For Entrepreneurs Opens In San Francisco". TechCrunch. Archived from the original on March 29, 2016. Retrieved February 2, 2021.
  41. "One home for all your apps". dotcloud.com. Archived from the original on May 17, 2014. Retrieved May 8, 2014.
  42. "The future of Linux Containers". DotCloud Channel. Retrieved July 13, 2018 – via YouTube.
  43. Swan, Chris (March 13, 2014). "Docker drops LXC as default execution environment". InfoQ. Retrieved January 20, 2015.
  44. "Demystifying the Relationship Between Moby & Docker – Welcome to Collabnix". May 6, 2017.
  45. "DotCloud Pivots And Wins Big With Docker, The Cloud Service Now Part Of Red Hat OpenShift". TechCrunch. September 19, 2013. Retrieved January 20, 2014.
  46. Foley, Mary Jo (October 15, 2014). "Docker container support coming to Microsoft's next Windows Server release". ZDNet. Retrieved October 16, 2014.
  47. Guthrie, Scott (October 15, 2014). "Docker and Microsoft: Integrating Docker with Windows Server and Microsoft Azure". ScottGu's Blog. Microsoft. Retrieved January 12, 2015.
  48. Barr, Jeff (November 13, 2014). "Amazon EC2 Container Service (ECS) – Container Management for the AWS Cloud". Amazon Web Services Blog. Retrieved April 29, 2017.
  49. Rath, John (November 10, 2014). "Stratoscale Raises $32M to Build Docker-Supporting OpenStack Clouds on Commodity Servers". Retrieved January 3, 2016.
  50. "IBM and Docker Announce Strategic Partnership to Deliver Enterprise Applications in the Cloud and On Prem". IBM. December 4, 2014. Retrieved April 20, 2015.
  51. Lardinois, Frederic (June 22, 2015). "Docker, CoreOS, Google, Microsoft, Amazon And Others Come Together To Develop Common Container Standard". TechCrunch. Retrieved August 8, 2015.
  52. Siluk, Shirley (June 22, 2015). "Docker, Tech Giants Team on Open Container Project". cio-today.com. Retrieved August 8, 2015.
  53. McLaughlin, Kevin (December 22, 2015). "Oracle Acquires Docker Container Startup StackEngine, Plans Austin-Based Cloud Computing Center". CRN. Retrieved January 13, 2022.
  54. Yegulalp, Serdar (April 4, 2016). "Windocks does what Docker and Microsoft can't do". InfoWorld. Retrieved October 27, 2018.
  55. "Docker – Updated project statistics". GitHub Gist. Retrieved August 22, 2016.
  56. Sarkar, Dona (June 8, 2016). "Announcing Windows 10 Insider Preview Build 14361". Windows Blogs. Microsoft. Retrieved June 19, 2016.
  57. Mullany, Michael. "Docker Momentum Analysis 2016". LinkedIn Pulse. Retrieved January 5, 2017.
  58. Vaughan-Nichols, Steven (June 18, 2019). "Docker embraces Windows Subsystem for Linux 2". ZDNet. CBS Interactive.
  59. "WSL 2 Support is coming to Windows 10 Versions 1903 and 1909". Windows Command Line (in English). August 20, 2020. Retrieved August 21, 2020.
  60. "Docker Desktop & WSL 2 - Backport Update". Docker Blog (in English). August 20, 2020. Retrieved August 21, 2020.
  61. Carey, Scott (August 31, 2021). "Docker Desktop is no longer free for enterprise users". InfoWorld (in English). Retrieved October 18, 2021.

Cite error: <ref> tag with name "docker-1.0-release-article" defined in <references> is not used in prior text.

Cite error: <ref> tag with name "source-code" defined in <references> is not used in prior text.


बाहरी संबंध