डॉकर के लिए एक शुरुआती गाइड - डॉकटर-कंपोज के साथ क्लाइंट / सर्वर साइड कैसे बनाएं

आप एक डेवलपर हैं और आप डॉकटर-कंपोज़ की खोज करना चाहते हैं? यह लेख आपके लिए बनाया गया है।

Dev.to पोस्ट करने के लिए कॉपीराइट

Docker-Compose पर एक संक्षिप्त परिचय के बाद, आप Docker के साथ अपना पहला क्लाइंट / सर्वर-साइड एप्लिकेशन बना पाएंगे।

यह लेख इस बात को ध्यान में रखता है कि आप डोकर की मूल बातें जानते हैं। यदि नहीं, तो घबराओ मत! मेरा सुझाव है कि आप डॉकर की खोज करने के लिए मेरा पहला लेख पढ़ें और सीखें कि अपना पहला आवेदन कैसे बनाएं।

डॉकटर-कम्पोज क्या है?

Docker-Compose, Docker द्वारा प्रदान किया गया एक उपकरण है। इसे सरल बनाने के लिए, यह उपकरण आपकी परियोजनाओं में वास्तु संबंधी समस्याओं को हल करने के लिए लागू किया गया है।

जैसा कि आपने मेरे पिछले लेख में देखा होगा, हमने एक सरल प्रोग्राम बनाया, जो "डॉकेर जादू है!" को लॉन्च किया गया था।

दुर्भाग्य से, जब आप एक डेवलपर होते हैं, तो आप शायद ही कभी एक स्टैंड-अलोन प्रोग्राम बनाते हैं (एक प्रोग्राम जिसे चलाने के लिए किसी अन्य सेवाओं की आवश्यकता नहीं होती है, जैसे कि डेटाबेस)।

हालाँकि, आपको कैसे पता चलेगा कि आपको डॉकटर-कम्पोज़ की आवश्यकता है? यह आसान है अगर आपके आवेदन को चलाने के लिए कई सेवाओं की आवश्यकता है, तो आपको इस उपकरण की आवश्यकता है। उदाहरण के लिए, यदि आप एक वेबसाइट बनाते हैं जिसे उपयोगकर्ताओं (यहाँ 2 सेवाओं, वेबसाइट और डेटाबेस) को प्रमाणित करने के लिए अपने डेटाबेस से कनेक्ट करने की आवश्यकता है।

डॉकर-रचना आपको इन सभी सेवाओं को एक ही कमांड में लॉन्च करने की संभावना प्रदान करती है।

डॉकर और डॉकर-कम्पोज़ के बीच अंतर

डॉकर का उपयोग आपके आवेदन के लिए एक व्यक्तिगत कंटेनर (सेवा) का प्रबंधन करने के लिए किया जाता है।

एक ही एप्लिकेशन के लिए एक ही समय में कई कंटेनरों का प्रबंधन करने के लिए डॉकर-कम्पोज का उपयोग किया जाता है। यह टूल डॉकर के समान सुविधाएँ प्रदान करता है, लेकिन आपको अधिक जटिल एप्लिकेशन रखने की अनुमति देता है।

डोकर (व्यक्तिगत कंटेनर) वी.एस. डोकर-कंपोज (कई कंटेनर)

एक विशिष्ट उपयोग का मामला

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

कल्पना कीजिए, आप अपने वेब सॉफ्टवेयर के गौरवशाली निर्माता हैं।

आपका समाधान दो वेबसाइट प्रदान करता है। पहले दुकानों को कुछ ही क्लिक में अपना ऑनलाइन स्टोर बनाने की अनुमति देता है। दूसरा ग्राहक सहायता के लिए समर्पित है। ये दोनों साइटें एक ही डेटाबेस के साथ इंटरैक्ट करती हैं।

आप सफल होने लगे हैं, और आपका सर्वर अब पर्याप्त नहीं है। इसलिए, आप अपने संपूर्ण सॉफ़्टवेयर को किसी अन्य मशीन पर माइग्रेट करने का निर्णय लेते हैं।

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

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

अब Docker-Compose के साथ अपना पहला क्लाइंट / सर्वर-साइड एप्लिकेशन बनाएं

अब जब आप जानते हैं कि आपके पहले क्लाइंट / सर्वर-साइड एप्लिकेशन को बनाने के लिए क्या-क्या बनाने की कोशिश की जा रही है!

इस ट्यूटोरियल का उद्देश्य पायथन में एक छोटी वेबसाइट (सर्वर) बनाना है जिसमें एक वाक्य होगा। इस वाक्य को पायथन में एक प्रोग्राम (क्लाइंट) द्वारा प्राप्त किया जाना चाहिए जो वाक्य प्रदर्शित करेगा।

नोट: यह ट्यूटोरियल इस बात को ध्यान में रखता है कि आपने पहले ही अपने कंप्यूटर पर डॉकर इंस्टॉल कर लिया है और आपके पास मूल बातें हैं। यदि यह मामला नहीं है, तो मैं आपको अपने पिछले लेख का संदर्भ देने के लिए आमंत्रित करता हूं।

1. अपना प्रोजेक्ट बनाएं

अपना पहला क्लाइंट / सर्वर एप्लिकेशन बनाने के लिए, मैं आपको अपने कंप्यूटर पर एक फ़ोल्डर बनाने के लिए आमंत्रित करता हूं। इसमें निम्न फ़ाइल और फ़ोल्डरों को रूट करना होगा:

  • A docker-compose.yml 'फ़ाइल (docker-compose फ़ाइल जिसमें विभिन्न सेवाएँ बनाने के लिए आवश्यक निर्देश होंगे)।
  • एक 'सर्वर' फ़ोल्डर (इस फ़ोल्डर में सर्वर सेट करने के लिए आवश्यक फाइलें होंगी)।
  • एक 'क्लाइंट' फ़ोल्डर (इस फ़ोल्डर में क्लाइंट सेट करने के लिए आवश्यक फाइलें होंगी)।

आपके पास यह फ़ोल्डर आर्किटेक्चर होना चाहिए:

।
├── ग्राहक /
├── डॉकटर-कंपोज.लाइल
└── सर्वर /
2 निर्देशिका, 1 फ़ाइल

2. अपना सर्वर बनाएं

डॉकर की मूल बातें याद दिलाने के लिए, हम सर्वर बनाकर शुरू करेंगे।

2 ए। फाइलें बनाएं

अपने 'सर्वर' फोल्डर में जाएं और निम्नलिखित फाइलें बनाएं:

  • एक file server.py फ़ाइल (अजगर फ़ाइल जिसमें सर्वर कोड होगा)।
  • एक ‘index.html’ फ़ाइल (HTML फ़ाइल जिसमें प्रदर्शित होने वाला वाक्य होगा)।
  • A डॉकरीफ़ाइल फ़ाइल (डोकर फ़ाइल जिसमें सर्वर का वातावरण बनाने के लिए आवश्यक निर्देश होंगे)।

आपके पास निम्न पथ ’सर्वर / 'में यह फ़ोल्डर आर्किटेक्चर होना चाहिए:

।
F डॉकरफाइल
├── index.html
└── server.py
0 निर्देशिका, 3 फाइलें

2 बी। पायथन फ़ाइल को संपादित करें

आप निम्न कोड को 'server.py' फ़ाइल में जोड़ सकते हैं:

यह कोड आपको इस फ़ोल्डर के अंदर एक साधारण वेब सर्वर बनाने की अनुमति देगा। यह वेब पेज पर इसे साझा करने के लिए index.html फ़ाइल की सामग्री को पुनः प्राप्त करेगा।

2c। Html फ़ाइल को संपादित करें

आप निम्न वाक्य को 'index.html' फ़ाइल में जोड़ सकते हैं:

सर्वर शुरू में इस फ़ाइल को साझा करेगा, और यह वाक्य प्रदर्शित किया जाएगा।

2 डी। डॉकर फ़ाइल संपादित करें

यहां हम एक बेसिक डॉकफाइल बनाएंगे जो हमारी पायथन फाइल को निष्पादित करने के प्रभारी होंगे। ऐसा करने के लिए, हम पायथन को निष्पादित करने के लिए बनाई गई आधिकारिक छवि का उपयोग करने जा रहे हैं।

3. अपने ग्राहक बनाएँ

डॉकर की मूल बातें याद दिलाना जारी रखने के लिए, हम ग्राहक बनाएंगे।

3 ए। फाइलें बनाएं

अपने to क्लाइंट ’फ़ोल्डर में जाएं और निम्नलिखित फाइलें बनाएं:

  • एक file client.py ’फ़ाइल (अजगर फ़ाइल जिसमें क्लाइंट कोड होगा)।
  • A डॉकरीफ़ाइल फ़ाइल (डोकर फ़ाइल जिसमें क्लाइंट का वातावरण बनाने के लिए आवश्यक निर्देश होंगे)।

सामान्य रूप से आपके पास निम्न पथ ’क्लाइंट / 'में यह फ़ोल्डर आर्किटेक्चर होना चाहिए:

।
├── मुवक्किल
F डॉकरफाइल
0 निर्देशिका, 2 फाइलें

3 बी। पायथन फ़ाइल को संपादित करें

आप निम्न कोड को add client.py ’फ़ाइल में जोड़ सकते हैं:

यह कोड आपको सर्वर वेब पेज की सामग्री प्राप्त करने और इसे प्रदर्शित करने की अनुमति देगा।

3c। डॉकर फ़ाइल संपादित करें

सर्वर के लिए, हम एक मूल डॉकफाइल बनाएंगे जो हमारी पायथन फाइल को निष्पादित करने के प्रभारी होंगे।

4. डॉकर-कम्पोज पर वापस जाएं

जैसा कि आपने देखा होगा, हमने दो अलग-अलग प्रोजेक्ट बनाए हैं, सर्वर और क्लाइंट, दोनों एक डॉकरफाइल के साथ।

अब तक, आपके द्वारा पहले से ही ज्ञात मूल बातें से कुछ भी नहीं बदला है।

अब हम रिपॉजिटरी के मूल में 'docker-compose.yml' को संपादित करने जा रहे हैं।

नोट: डॉकटर-कम्पोज़ पूरा हो रहा है, इस लेख का उद्देश्य आपको एक ठोस और विशिष्ट उदाहरण देना है। इसलिए आप सभी कीवर्ड नहीं देख पाएंगे।

5. डॉकर-कंपोज का निर्माण करें

एक बार docker-compose सेट हो जाने के बाद, आपके क्लाइंट / सर्वर एप्लिकेशन को बनाया जाना चाहिए। यह चरण cker docker build ’कमांड से मेल खाता है लेकिन विभिन्न सेवाओं पर लागू होता है।

$ डॉकटर-कंपोज बिल्ड

6. डॉकटर-कम्पोज चलाएं

आपका डॉकटर-कंपोज बनाया गया है! अब यह शुरू करने का समय है! यह चरण cker docker run ’कमांड से मेल खाता है लेकिन विभिन्न सेवाओं पर लागू होता है।

$ डॉकटर-रचना

वहाँ तुम जाओ, वह है आपको अपने टर्मिनल में "डॉकर-कम्पोज़ जादू है!" देखना चाहिए।

नोट: जैसा कि ट्यूटोरियल में बताया गया है, आपकी As सर्वर ’सेवा अपनी सामग्री वितरित करने के लिए आपके कंप्यूटर के पोर्ट १२३४ का उपयोग करती है। यदि आप अपने कंप्यूटर पर: http: // localhost: 1234 / 'पेज खोलते हैं, तो आपको ‘डॉकर-कम्पोज जादू है!’ देखना चाहिए।

कोड उपलब्ध है

यदि आप इसे आसानी से खोजने के लिए या इसे निष्पादित करने के लिए पूरा कोड प्राप्त करना चाहते हैं, तो मैंने इसे अपने जीथब पर आपके निपटान में डाल दिया है।

डॉकटर के लिए उपयोगी आदेश

हमेशा की तरह, मैंने उन आदेशों की एक सूची तैयार की है जो डॉकटर-कंपोज़ के लिए आपके लिए उपयोगी हो सकते हैं।

  • कंटेनरों को रोकता है और कंटेनरों को निकालता है, चित्र ...-डॉकटर-कंपोज अप ’द्वारा निर्मित।
$ डॉकटर-कंपोज करें
  • सेवाओं से लॉग आउटपुट प्रदर्शित करता है (उदाहरण: log docker- रचना लॉग -f क्लाइंट ’)।
$ docker- रचना लॉग -f [सेवा का नाम]
  • कंटेनरों को सूचीबद्ध करता है।
$ डॉक-कंपोज़ पीएस
  • निष्पादित कंटेनर में कमांड निष्पादित करता है (उदाहरण:-डॉकटर-कम्पोज़ एक्ज़क्यूट सर्वर एलएस ')।
$ डॉकटर-कम्पोज़ एग्जीक्यूट [सर्विस नेम] [कमांड]
  • छवियों को सूचीबद्ध करता है।
$ डॉकटर-कंपोज़ इमेज

यह पहले से ख़त्म हो गया है…

पढ़ने के लिए धन्यवाद! मैं फ्रीकोड पर नियमित रूप से लेख साझा करता हूं; आप मेरी गतिविधियों का पालन करने और विकास के बारे में उपयोगी टिप्स और समाचार प्राप्त करने के लिए मेरे ट्विटर प्रोफाइल की जांच कर सकते हैं।

यदि आप कोड सीखना चाहते हैं, तो अपने मेलबॉक्स पर सीधे भेजे गए संसाधन प्राप्त करें जो आपको अपने प्रोग्रामिंग कौशल में सुधार करने की अनुमति देते हैं। नवीनतम लेख, पाठ्यक्रम, ट्यूटोरियल, टिप्स, किताबें, प्रेरणा, और अन्य विशेष सामग्री प्राप्त करें।
तो, बिना विलंब के (स्पैम-मुक्त गारंटी) कोड के लिए समर्पित नए समुदाय में शामिल हों!

-> सदस्यता लें [यहाँ हम कोड] न्यूज़लेटर

नीचे टिप्पणी में मेरे भविष्य के लेख को बेहतर बनाने के लिए मुझे कुछ प्रतिक्रिया देने में संकोच न करें।