हे एवरीवन वेलकम बैक वेलकम टू अनदर एक्साइटिंग वीडियो एंड इस वीडियो के अंदर हम सीखने वाले हैं डॉकर तो सबसे पहले आई होप दैट तुम सबकी ओपन सोर्स कंट्रीब्यूशंस बहुत बढ़िया जा रहे होंगे तुम सब बहुत ज्यादा ओपन सोर्स कंट्रीब्यूट कर रहे होगे मेरे पास डेली के क्वेश्चंस कर रहे हो तो तुमने एक चीज जरूर नोटिस की होगी दैट ईच एंड एवरी रिपोजिटरी अब डॉकर को यूज करती है राइट तो अगर तुम्हें डॉकर नहीं आता तो ये एक छोटा सा हर्डल बन सकता है तुम्हारी ओपन सोर्स की जर्नी में तो डॉकर आज के टाइम में आना बहुत इंपॉर्टेंट है बिकॉज़ जैसे हम माइक्रोसर्विस आर्किटेक्चर के ऊपर मूव कर रहे हैं हम ओपन सोर्स की तरफ मूव कर रहे हैं तो एवरीवन इज अडॉप्टिंग डॉकर तो डॉकर आना बहुत-बहुत बहुत ज्यादा जरूरी है चाहे तुम एक डेवलपर हो चाहे तुम एक डेप्स इंजीनियर हो चाहे तुम एक फुल स्टैक इंजीनियर बनना चाहते हो जो भी तुम करना चाहते हो डॉकर एक मस्ट है जो तुम्हें आना चाहिए सो दिस इज द पार्ट वन ऑफ कंप्लीट डॉकर सीरीज ठीक है सो मोस्ट प्रोबेबली टोटल टू वीडियोस होंगी ये पार्ट वन है एक और पार्ट होगा दैट इज पार्ट टू तो फटाफट डिस्कस करते हैं दैट इस वीडियो के अंदर हम क्या-क्या डिस्कस करने वाले हैं क्या-क्या सीखने वाले हैं एंड उसके बाद हम वीडियो को स्टार्ट करते हैं सो लेट्स स्टार्ट विद द वीडियो यू कैन सी माय स्क्रीन तो आज हम पार्ट वन डिस्कस करने वाले हैं तो पार्ट वन के अंदर हम देखेंगे फर्स्ट ऑफ ऑल द प्रॉब्लम स्टेटमेंट ऑफकोर्स डॉकर किस प्रॉब्लम को सॉल्व करता है इंस्टॉलेशन देखेंगे दैट तुम किस तरह से डॉकर को अपनी लोकल मशीन के अंदर सेटअप कर सकते हो किस तरह से तुम उसको इंस्टॉल कर सकते हो राइट फिर हम समझेंगे इमेजेस क्या होते हैं कंटेनर्स क्या होते हैं उबन इमेजेस को हम कैसे रन कर सकते हैं हमारे कंटेनर्स के अंदर मल्टीपल कंटेनर्स कैसे रन कर सकते हैं पोर्ट मैपिंग क्या होता है एनवायरमेंट वेरिएबल क्या होता है डॉकराइजेशन क्या होता है हम एक नट जेएस के फुल स्टैक एप्लीकेशन को किस तरह से हम डॉकराइज कर सकते हैं राइट तो हम उसका पूरा प्रोसेस देखेंगे एंड उसके बाद हम देखेंगे डॉकर कंपोज जो बहुत-बहुत बहुत ज्यादा इंपॉर्टेंट है अगर तुम ओपन सोर्स कंट्रीब्यूशंस करते हो या फिर अगर तुम्हें अ मल्टीपल कंटेनर्स रन करने हैं मशीन के अंदर राइट उसके बाद हम पार्ट टू देखेंगे जो थोड़ा सा एक छोटा वीडियो होने वाला है जिसके अंदर हम देखने वाले हैं दैट डॉकर नेटवर्किंग क्या होता है वॉल्यूम माउंटिंग क्या होता है मल्टी स्टेज बिल्ड्स क्या होते हैं एंड एक बोनस वीडियो होगा amazononline.in सो यह हमारा पूरा करिकुलम होने वाला है तो सबसे पहले स्टार्ट करते हैं प्रॉब्लम स्टेटमेंट के साथ ठीक है तो मैंने टाइम स्टंप्स इंक्लूड कर दए हैं जस्ट इन केस तुम किसी सेक्शन के ऊपर स्पेसिफिकली जंप करना चाहते हो तो तुम उसको कर सकते हो बट मैं रिकमेंड करूंगा दैट पूरी वीडियो को सीक्वेंस में ही देखना ओके ठीक है तो फिर बात करते हैं दैट पहले प्रॉब्लम स्टेटमेंट की ठीक है तो प्रॉब्लम स्टेटमेंट बहुत ही ज्यादा कॉमन है ठीक है तो अगर लेट अस से तुम एक डेवलपर हो राइट एंड तुम किसी प्रोजेक्ट के ऊपर वर्क कर रहे हो लेट अस से या ये तुम हो सो ये एक डेवलपर है ये ये किसी प्रोजेक्ट के ऊपर वर्क कर रहा है एंड बिकॉज ये किसी प्रोजेक्ट के ऊपर वर्क कर रहा है तो ऑफकोर्स इसके पास एक लोकल मशीन है राइट इसके पास क्या है एक लोकल मशीन एंड अगर हम बात करें इसकी जो लोकल मशीन है उसके ऊपर ऑफकोर्स कोई कॉन्फिन होगी राइट तो इसके ऊपर क्या कॉन्फिन हो सकती है मैं बोल सकता हूं दैट इसके पास जो ये मशीन है तो ये एक विज मशीन है जिसके ऊपर ही इज रनिंग ws1 लेट्स से एंड इसके पास मे बी नट जए इंस्टॉल्ड है दैट इज वर्जन लेट्स से 16 ठीक है तो पुराना एक नज का वर्जन इंस्टॉल्ड है 16 इसके पास मंगो डीबी वर्जन है लेट्स से 5 एंड उसके बाद इसने रेडिस भी इंस्टॉल कर रखा है वर्जन सिक्स तो बेसिकली नेटमेट मेरा कहने का मतलब क्या है इसने अपने लोकल एनवायरमेंट के अंदर जितने भी इसको टूल्स चाहिए इसके एप्लीकेशन के लिए इसने यहां पर इंस्टॉल कर रखे हैं एंड यहां पर इसका छोटा सा एक नट जस का सर्वर चल रहा है व्हिच इज अप एंड रनिंग फाइन बहुत बढ़िया राइट तो अभी ये डेवलपर हैप्पी है एवरीथिंग इज वर्किंग गुड कोई प्रॉब्लम नहीं है बट प्रॉब्लम अकर होती है जब हमारे पास टीम होती है राइट लेट अस से हमारे पास एक और डेवलपर आता है हमारी टीम के अंदर तो जैसे ही ये डेवलपर आता है लेट अस से ये डेवलपर आया यूजुअली टू टू थ्री इयर्स के बाद ठीक है तो सबसे पहला प्रॉब्लम क्या होगा जब ये इस कोड को सेटअप करने का ट्राई करेगा राइट तुमने इसको गिट हब का यूआरएल दिया एंड इसने इसको क्लोन कर लिया व्हिच इज गुड तो सबसे पहले क्या होगा तुम्हें इसको बताना होगा कि अगर तुझे इस प्रोजेक्ट को रन करना है तो ये सारी चीजें भी तुझे अपनी मशीन के अंदर इंस्टॉल करनी है राइट एंड ऑनेस्टली किसी को याद नहीं रहता दैट हम क्या-क्या सर्विसेस यूज़ कर रहे हैं हमारे मशीन के अंदर ठीक है बिकॉज़ वो हमने कभी किसी टाइम पे इंस्टॉल की थी बस वो चल रही है राइट हमें खुद भी याद नहीं रहता दैट हमने क्या-क्या इंस्टॉल किया था बिकॉज़ ये तो बहुत कॉमन एक एग्जांपल है इन रियलिटी तुम्हारे पास और भी बहुत छोटी-छोटी सर्विसेस होती हैं जो बैकग्राउंड में रन कर रही होती हैं ओके तो ठीक है लेट्स से दैट तुमने इसको ये सब कुछ बता दिया दैट तुम इसको इंस्टॉल करो अब प्रॉब्लम पहली प्रॉब्लम यहां से स्टार्ट होती है दैट एक एक्स्ट्रा एफर्ट लगाना पड़ रहा है पूरा का पूरा एनवायरमेंट को सेट अप करने के लिए ठीक है मे बी ही कैन पुट अप अ एक्स्ट्रा एफर्ट तो इसके पास लेकिन प्रॉब्लम क्या है इसके पास मैक ओ है ठीक है इसने क्या किया इसने नट जस इंस्टॉल किया लेकिन नट जस वर्जन इंस्टॉल हुआ 21 बिकॉज़ 21 इज द लेटेस्ट वन राइट या फिर हम लगा लेते हैं 20 बिकॉज़ हम क्या करते हैं हम जब कोई भी सॉफ्टवेयर इंस्टॉल करते हैं ऑफकोर्स हम हमेशा लेटेस्ट इंस्टॉल करते हैं तो इसने नट जस वर्जन 20 कर लिया इसने मंगो डीबी को इंस्टॉल करने की कोशिश की तो मंगो डीबी वर्जन से से इंस्टॉल हो गया इसने रेडस इंस्टॉल करने का ट्राई किया तो रेडस वर्जन से इंस्टॉल हो गया तो नेटमेट यह बोलेगा ट मैंने सारे टूल सेटअप कर लिए है बट अगर ये इस एप्लीकेशन को रन करने का ट्राई करेगा तो देयर आर हाई चांसेस दैट इसमें कुछ ना कुछ एरर आएगा ही आएगा यह प्रोजेक्ट पहली बार में रन नहीं करेगा व्हाट इज द रीजन बिकॉज दोनों का जो एनवायरमेंट है वो सेम नहीं है राइट वो बिल्कुल डिफरेंट है ठीक है बहुत बड़ी प्रॉब्लम है अब ये क्या कर सकता है ये उससे कंसल्ट करेगा मे बी तो ये उसको बोलेगा यार एक काम कर नट जस वर्जन 16 कर ले अ मंगो डीबी का वर्जन लेट्स से फाइव कर ले ठीक है तो लेट अस से इसने हर डिपेंडेंसी को डाउनग्रेड कर लिया ठीक है बहुत बढ़िया बट एक यहां पर भी एक छोटी सी प्रॉब्लम कई बार क्या आती है अगर कोई टूल है राइट अगर कोई टूल है जो सिर्फ और सिर्फ विज के लिए बना है तो उसको तो ये mac1 और सिर्फ विंडो स्पेसिफिक है तो उस केस में तो ये यूज़र यूज़ कर ही नहीं पाएगा उस फीचर को उस केस में तो उसका लोकल सेटअप पॉसिबल ही नहीं है तो ये तो वन प्रॉब्लम राइट तो नेट मेट प्रॉब्लम क्या होती है कि जब तुम्हारे पास मल्टीपल एनवायरमेंट्स होते हैं ना व्हेन यू हैव मल्टीपल एनवायरमेंट्स तो उन एनवायरमेंट्स को रेप्ट करना इज वेरी डिफिकल्ट उन एनवायरमेंट्स को रिप्लिकेट करना बहुत डिफिकल्ट है ठीक है तो ये वो कोर प्रॉब्लम है रेप्ट करना एनवायरमेंट को जो डॉकर सॉल्व करता है ठीक है यहां पर एक एक और प्रॉब्लम क्या आते है लेट अस से अगर दोनों दोनों ने सेटअप कर भी लिया दोनों ने अपना एप्लीकेशन अप एंड रनिंग कर भी लिया जब वो उसको क्लाउड के ऊपर डिप्लॉयड राइट अगर उनको क्लाउड के ऊपर डिप्लॉयड भी वहां पर दोबारा से करनी है जो भी इन्होंने क्लाउड लिया लेट्स से एडब्ल्यू एस लिया डिजिटल ओसस लिया जौन सा भी इन्होंने क्लाउड को रेंट आउट किया वहां पर भी सेम टू सेम कॉन्फिडेंस करनी पड़ती है एंड उसके बाद सेम नोट जस एप्लीकेशन वहां पर पहली बार में चलेगा या नहीं इसकी कोई गारंटी नहीं एंड अगर तुम ऑटो स्किलिंग के अंदर हो तो ऑफकोर्स जितनी भी तुम्हारी मशीनस है तुम्हें सबके अंदर ये रिपिटेटिव टास्क करना पड़ेगा जो बहुत एक पेन है राइट अगर एक टीम है लाइक फॉर एग्जांपल अगर हम एक किसी कंपनी की बात कर ें लेट अस से amazononline.in तो तुम सबको नहीं कम्युनिकेट कर सकते दैट क्या-क्या एनवायरमेंट सेटअप करना है सो बार-बार एनवायरमेंट्स को रिप्लिकेट करना इज नॉट पॉसिबल तो हम क्या करते हैं हम डॉकर का यूज करते हैं तो यह तो थी प्रॉब्लम स्टेटमेंट ठीक है अब देखते हैं दैट डॉकर इसको कैसे सॉल्व करता है बेसिकली डॉकर के अंदर एक कंसेप्ट होता है कंटेनर्स का ठीक है तो वो क्या होता है वो हम इसी वीडियो के अंदर बाद में देखेंगे बट एज्यूम दैट हम एक कंटेनर्स बनाते हैं डॉकर को यूज करके इन कंटेनर्स के अंदर हम अपनी सारी कॉन्फ़िगरेशन करते हैं फॉर एग्जांपल इसका क्या ऑपरेटिंग सिस्ट सिस्टम होगा इसके अंदर क्या-क्या टूल्स होंगे टूल्स मतलब इसके अंदर कौन सा नट जस होगा इसके अंदर कौन सा मंगो डीबी होगा तो जितने भी कॉन्फिन होती हैं हम इन कंटेनर्स के अंदर करते हैं एंड इन कंटेनर्स को हम अपने टीम के साथ अपने क्लाउड के साथ शेयर कर सकते हैं तो हम इस कंटेनर की मल्टीपल कॉपीज बना सकते हैं ठीक है तो यह कंटेनर तुम इसको किसी भी मशीन के ऊपर रन कर सकते हो लेट अस से अगर इस कंटेनर के अंदर यू आर रनिंग तुम किसी भी चीज के ऊपर हो तुम सेम टू सेम कॉन्फिन सेम टू सेम कंटेनर हर जगह रन कर सकते हो तो लेट अस से अगर तुम्हारे पास विंडोज है लेट अस से अगर मैं पड़ती तो ये कंटेनर्स का जो कांसेप्ट है ये बहुत पावरफुल कांसेप्ट है यह कंटेनर्स बहुत लाइट वेट होते हैं तुम इन कंटेनर्स को बहुत जल्दी बिल्ड कर सकते हो डिस्ट्रॉय कर सकते हो क्लाउड पे डिप्लॉयड कर सकते हो बेसिकली इन कंटेनर्स को तुम कुछ भी कर सकते हो और हर कंटेनर के अंदर अपना ऑपरेटिंग सिस्टम होता है अपने टूल्स होते हैं अपनी कॉन्फिन होती है सो दिस इज द होल कंसेप्ट ऑफ डॉकर कूल तो प्रॉब्लम स्टेटमेंट तो हमें समझ आ गई पियूष बाकी जैसे-जैसे हम और आगे बढ़ेंगे वीडियोस के अंदर हमें और अच्छे से क्लेरिटी मिलती जाएगी अब सबसे पहले हम देखते हैं दैट हम डकर को इंस्टॉल कैसे कर सकते हैं ठीक है तो हमें बेसिकली दो चीजें इंस्टॉल करनी है डकर सीआ सीआ स्टैंड्स फॉर कमांड लाइन इंटरफेस जिससे हम डॉकर के साथ बात कर सकते हैं एंड डॉकर डेस्कटॉप ये एक तरह का जीआई है जिसमें हम देख सकते हैं हमारे इमेजेस को हमारे कंटेनर्स को ठीक है तो हमें बस क्या करना है बहुत इजी है हमें बस यहां पर क्लिक करना है तो डॉकर डाउनलोड बस सिंपल दबाना है इसके अंदर डर सीआ और डॉकर ये जो डेस्कटॉप जी आ है ये दोनों इंक्लूडेड होते हैं ठीक है तो अगर तुम मैकबुक पे हो तो तुम मैकबुक के लिए डाउनलोड कर सकते हो वि के लिए डाउनलोड कर सकते हो आ रहा है ये स्टार्ट हो रहा है एंड ये मेरा है डॉकर डेस्कटॉप जिसके अंदर क्या होता है डॉकर इंजन स्टार्ट हो रहा है एंड वो स्टार्ट हो चुका है तो ये है हमारा इनिशियल डॉकर ठीक है तो यहां पर दो अलग-अलग चीजें हैं ठीक है ये चीज यान रखना जब हम डॉकर की बात करते हैं तो एक तो होता है तुम्हारा डॉकर डी मन ओके डॉकर डी मन तो ये डी मन क्या होता है ये एक तरह का एक टूल है दिस इज द एक्चुअल डॉकर राइट जो सारा काम करता है जो कंटेनर्स को स्पिन अप करता है कंटेनर्स को स्केल डाउन करता है कंटेनर्स को बनाता है तो जो डी मन है यही है जो सारे काम करता है राइट इमेजेस को पुल करना इमेजेस को बनाना तो जितना भी काम है वो डी मन करता है एंड जो डॉकर डेस्कटॉप है जो तुम्हें दिख रहा था डॉकर डेस्कटॉप क्या होता है बेसिकली एक तरह का जीआई है जो हमें दिखाता है दैट एक्चुअली हमारी मशीन की स्टेट क्या है ठीक है तो हम क्या करेंगे हम इसको सिर्फ विजुलाइजेशन पर्पस के लिए यूज़ करेंगे तो यू कैन सी दैट हमारे पास कोई भी कंटेनर नहीं है हमारे पास कोई भी इमेज नहीं है व्हिच इज गुड राइट अब हम एक काम करते हैं फटाफट ठीक है एक डेमोंस्ट्रेट करते हैं हम क्या करेंगे हम उबुंटू को रन करके देखते हैं मेरी मैक मशीन के अंदर तो मैं क्या करूंगा फटाफट हम अपना टर्मिनल ओपन करते हैं नर्मल टर्मिनल है तो सबसे पहले अगर मैं यहां पर डॉकर कमांड लिखता हूं यू विल सी दैट हमारे पास बहुत सारी चीजें आई राइट इसका क्या मतलब है दैट यस मेरा जो डॉकर है वो इंस्टॉल्ड है तो यहां पर एक और कमांड रन कर सकते हो दैट इज़ डॉकर h v इससे मुझे पता लग रहा है दैट जो मेरा डॉकर है दैट इज ऑन वर्जन 24.06.19 यहां पे लिखूंगा डॉकर रन हान आईटी इसका मतलब होता है इंटरेक्ट मोड के अंदर यह क्या होता है इसके बारे में मैं तुम्हें अभी बताऊंगा एंड यहां पर हम लिखेंगे उबुंटू उबुक है ये हमारी इमेज का नेम है राइट व्हाट इज इमेज तो मैं तुम्हे बताऊंगा बट अभी के लिए तुम समझो दैट ये हमारे ऑपरेटिंग सिस्टम का नेम है तो मैं डॉकर को बोल रहा हूं दैट डॉकर मेरे लिए एक कंटेनर को रन करो जिसके अंदर मुझे क्या चाहिए मुझे उबन इमेज उबन ऑपरेटिंग सिस्टम चाहिए जैसे मैं इसको एंटर करूंगा यहां पर हमारे पास एक एरर आएगा एरर कहता है दैट अनेबल टू फाइंड इमेज उं ये बोलता है दैट मेरे पास कोई भी ऑपरेटिंग सिस्टम नहीं है उं तो ये उसको पहले डाउनलोड कर रहा है राइट एंड डोंट वरी ये इमेजेस बहुत लाइट वेट होती है राइट तो इसने क्या किया इसने मेरे लिए उं को डाउनलोड किया ठीक है तो अगर तुम मेरी इमेजेस में जाके देखोगे एंड अगर मैं यहां पे रिफ्रेश करता हूं तो अब अगर तुम मैं यहां पे एक फिल्टर हटाता हूं तो अगर तुम देखोगे दैट मेरी लोकल मशीन के अंदर एक उबू तो का कंटेनर आ चुका है व्हिच इज ऑफ 69 एब राइट एंड अगर मैं अपना कंटेनर में जाता हूं तो मेरे पास एक कंटेनर रनिंग है जिसका नाम है रिकर्स रमन तो यह कुछ भी एक नाम दे देता है रैंडम यह कंटेनर की आईडी है एंड इसके अंदर उं इमेज इज़ रनिंग ठीक है तो अगर तुम यहां पे ध्यान से देखोगे दैट यह अब हम उं कंटेनर के अंदर है तो अगर मैं यहां पे एलएस करता हूं या फिर मैं यहां पे हु एम आई करता हूं तो अभी हम उबुक के अंदर हैं राइट अभी हम जो भी कमांड्स एग्जीक्यूट कर रहे हैं अगर मैं यहां पे नोड करता हूं एंटर तो यू विल सी दैट नोड कमांड नॉट फ बिकॉज इस कंटेनर के अंदर नोट जस इंस्टॉल्ड ही नहीं है तो अभी हम कंटेनर के अंदर ये जो टर्मिनल है ना मेरा ये कंटेनर के अंदर रन कर रहा है एंड जो भी मैं कमांड यहां पर एग्जीक्यूट कर रहा हूं वो मेरे कंटेनर के अंदर एग्जीक्यूट कर रहे हैं कौन सा कंटेनर ये हमारे कंटेनर की आईडी है एंड अगर तुम देखोगे दिस इज द एग्जैक्ट सेम आईडी ठीक है तो मैं तुम्हें बताता हूं अभी हुआ क्या बेसिकली जब हमने ये कमांड एग्जीक्यूट की जब हमने बोला डॉकर रन हान आईटी उ बुंदू राइट तो यहां पर होता क्या है यहां पर बेसिकली दो चीजें हुई तुमने डॉकर को रन किया एंड तुमने उसको बोला दैट मुझे उबन तो इमेज को रन करना है तो ये क्या करता है ये फर्स्ट टाइम चेक करता है दैट क्या तुम्हारे पासस उं इमेज लोकली डाउनलोडेड है पहले अगर मैं इसको कंट्रोल डी करके एग्जिट करता हूं एंड मैं दोबारा से सेम कमांड को रन करूंगा यू विल नोटिस कि बहुत जल्दी हुआ बिकॉज इस टाइम हमारे पास जो उतु इमेज थी वो ऑलरेडी डाउनलोडेड थी राइट एंड अब हमारे पास दो कंटेनर्स रनिंग है तो ये चेक करता है दैट क्या तुम्हारे पास बनतो इंस्टॉल्ड है अगर तो तुम्हारे पास उतु की इमेज ऑलरेडी डाउनलोडेड है तो वह उसको रीयूज करके एक नया कंटेनर बनाता है और अगर ऐसा नहीं है तो वह क्या करता है तो वो hub.com से उसको डाउनलोड करता है ठीक है तो hub.com क्या है इट्स लाइक गब जैसे गब के ऊपर हमारा हमारे सारे कोड्स होते हैं राइट हमारे सारे रिपोजिटरीज होते हैं सिमिलरली hub.cc के ऊपर क्या होता है हमारे सारे पब्लिक कंटेनर्स होते हैं जहां से लोग उसको पुल कर सकते हैं तो अगर मैं यहां पे सर्च करता हूं उं एंड मैं यहां पे क्लिक करता हूं टर तो अभी जो हमने डॉकर रन उं किया था राइट तो उसने वो यहां से डाउनलोड की थी इमेज ठीक है तो वो यहां से डाउनलोड करता है तो यह हब डॉट डॉकर क्या एक तरह का गेट हप फॉर कंटेनर्स तो पहली बार वो चेक करता है अगर वो अगर तो ये उसको इमेज मिल जाती है अगर उसको ये ऑपरेटिंग सिस्टम मिल जाता है तो वो डायरेक्टली इसको रन कर देता है इसको रीयूज कर लेता है और अगर वो नहीं मिलती तो व दोबारा से डाउनलोड करता है तो इस तरह से हम क्या कर सकते हैं हम कंटेनर्स को रन कर सकते हैं एंड यू कैन सी दैट इस टाइम पिछला कंटेनर बंद हो गया बिकॉज़ मैंने कंट्रोल डी कर दिया था एंड हमारा एक न्यू कंटेनर इज रनिंग इस कंटेनर के अंदर तुम कुछ भी कर सकते हो कुछ भी वो आइसोलेटेड एक कंटेनर के अंदर होगा राइट तो अभी जो हमने कंटेनर बनाया राइट इस कंटेनर के अंदर उबुंटू इमेज रन कर रही है ओके एंड इस कंटेनर की एक आईडी है व्हिच इज दिस ठीक है तो ये बहुत लंबी सी आईडी है तो इस कंटेनर की आईडी है तो एक काम करते हैं शुरू के कुछ लेटर्स ले लेते हैं बाकियों को ड्रॉप कर देते हैं तो यह हमारे कंटेनर की आईडी है इस कंटेनर के अंदर तुम कुछ भी करो वो तुम्हारी बाहर वाली मशीन के साथ अफेक्ट नहीं करेगा तुम इसके अंदर कुछ डाउनलोड करो तुम इसके अंदर कुछ अपलोड करो तुम इसके अंदर कुछ भी करते जाओ बाहर से वो बिल्कुल आइसोलेटेड है ठीक है तो ये था पहली चीज दैट इंस्टॉलेशन एंड क्या अब हम समझते हैं दैट ये इमेज क्या होता है और ये कंटेनर्स क्या होते हैं ठीक है इंस्टॉलेशन पार्ट तो हो गया हमने अपना एक छोटा सा कंटेनर चलाकर भी देख लिया अब बात करते हैं ये इमेजेस क्या होते हैं कंटेनर्स क्या होते हैं ठीक है ये बहुत इंपॉर्टेंट कांसेप्ट सेप्ट है जब तुम डॉकर की बात करते हो बेसिकली यू आर जस्ट टॉकिंग अबाउट इमेजेस एंड कंटेनर्स ठीक है अगर मैं बताऊं कि अभी मेरे पास कौन सा लैपटॉप है राइट तो लेट अस से तुम बोलोगे दैट मेरे पास मैकबुक है ओके इसके अंदर कौन सा ऑपरेटिंग सिस्टम चल रहा है तो तुम बोलोगे दैट इसके अंदर मैक ओ चल रहा है राइट या फिर अभी के लिए एग्जांपल ले लेते हैं दैट इसके अंदर डार्विन ओ चल रहा है ठीक है एग्जांपल ले लेते हैं डार्विन ओ तो बेसिकली कैन आई से दैट ये जो ऑपरेटिंग सिस्टम है यह इस पर्टिकुलर मशीन के ऊपर चल रहा है यह एक्चुअल एक मशीन है जिसके ऊपर यह डार्विन ओ चल रहा है करेक्ट सिमिलरली जो हमारी इमेजेस होती है राइट जो हमारी इमेजेस होती हैं ना वह एक तरह का ऑपरेटिंग सिस्टम होती हैं ठीक है एंड इमेजेस को रन करने के लिए तुम्हें कंटेनर्स चाहिए होते हैं राइट कंटेनर्स कुछ नहीं कर सकते कंटेनर्स खाली बस एक मशीन की तरह होते हैं तो तुम क्या कर सकते हो तुम मल्टीपल कंटेनर्स ले लो जैसे यह एक कंटेनर है यह एक और कंटेनर है यह एक और कंटेनर है यह कंटेनर्स कुछ नहीं कर सकते इन कंटेनर्स के ऊपर तुम्हें कोई ना कोई इमेज को रन करना होता है तो तुम क्या कर सकते हो तुम इसी इमेज को इसके ऊपर रन कर दो लेट अस से अ जस्ट अ सेकंड तो हम क्या कर सकते हैं हम इसके ऊपर इसी इमेज को इसमें भी रन कर सकते हैं हम इसी इमेज को इस कंटेनर में रन कर सकते हैं एंड इसी इमेज को हम इस कंटेनर में भी रन कर सकते हैं तो इमेजेस सिर्फ क्या करती हैं सिर्फ एक ऑपरेटिंग सिस्टम की तरह बिहेव करती हैं कंटेनर्स एक्चुअली इमेज को रन करते हैं एंड कंटेनर्स आपस में आइसोलेटेड होते हैं फॉर एग्जांपल अगर मैंने यहां पर कुछ डाटा रखा तो वो डाटा यहां पर एक्सेसिबल नहीं होगा यहां पर जो डाटा होगा वो डिफरेंट होगा यहां पर जो डाटा होगा वो डिफरेंट होगा तो अगर यहां पर कुछ डटा है तो ये आपस में कम्युनिकेट नहीं कर सकते सिमिलरली अगर मेरे पास लेट्स से दो लैपटॉप्स हैं दोनों के अंदर विंडोज चल रहा है तो उनका अपना-अपना डाटा है दोनों के अंदर विंडोज सेम है दोनों के अंदर अपडेट सेम आते हैं बट उन दोनों का अपना-अपना डाटा है आपस में डाटा शेयर नहीं कर सकते हैं अनटिल अनलेस हम चाहे सिमिलरली अभी हमने क्या किया था अभी हमने दो कंटेनर्स बनाए थे यू विल सी हमारे पास इमेज एक ही है हमारे पास दो अलग-अलग कंटेनर्स थे दोनों के ऊपर वो बंद तो चल रहा था लेकिन दोनों का अपना-अपना डटा है जस्ट टू प्रूव माय पॉइंट मैं क्या करता हूं एक काम करते हैं हम इसको स्टॉप कर लेते हैं कंटेनर को ठीक है तो मैं यहां से कंट्रोल डी भी कर सकता हूं तो ऑटोमेटिक ली स्टॉप हो जाएगा हम दोनों कंटेनर्स को एक बार डिलीट कर लेते हैं यहां से मैं क्या करूंगा मैं यहां पर एक और टर्मिनल ओपन करूंगा राइट अगर मैं यहां पर सेम कमांड लिखता हूं डॉकर रन हान आईटी एंड उतु एंटर एक कंटेनर चला यहां पर भी हम सेम कमांड को रन कर लेते हैं तो हमारे पास यहां पर अब क्या होगा यू विल सी दैट हमारे पास दो अलग-अलग कंटेनर्स है राइट तो ये एक कंटेनर है राइट दोनों के आईडी डिफरेंट डिफरेंट है तुम यहां पर एलएस करो यहां पर एलएस करो सेम है लेट अस से मैं यहां पर एक डायरेक्ट्रीएंट्री बनाता हूं एमकेडी आईआर डाटा टू एंड एलएस करता हूं तो यू विल सी दैट यहां पर हमारे पास एक डेटा टू अवेलेबल है तो दोनों का जो डाटा है वह आपस में शेयर्ड नहीं है सिर्फ क्या शेयर्ड है दैट दोनों के अंदर सेम इमेज रन कर रही है एंड ये इमेज हमारे पास कहां से आई ये इमेज हमारे पास hub.com से आई बिकॉज़ जब हमने फर्स्ट टाइम वंतु को रन करने का ट्राई किया था उसने मुझे एक एरर दिया था अनेबल टू फाइंड इमेज लोकली तो उसने मेरी लोकल मशीन के अंदर ये इमेज को डाउनलोड करके रख लिया एंड दैट इज हाउ बेसिकली योर इमेजेस एंड योर कंटेनर्स वर्क तो जब तुम एक्चुअल डेवलपमेंट में वर्क करते हो तो तुम क्या करते हो तुम अब अपनी एक कस्टम इमेज बनाते हो राइट तुम अपनी कस्टम इमेज बनाते हो कस्टम इमेज क्या हो सकता है फॉर एग्जांपल मेरी एक इमेज हो सकती है जिसके अंदर उब चल रहा है जिसके अंदर नट जए इंस्टॉल्ड है जिसके अंदर मंगोड भी इंस्टॉल्ड है जिसके अंदर लेट्स से रेडस इंस्टॉल्ड है एंड मैं क्या कर सकता हूं मैं इसकी कस्टम इमेज बना सकता हूं इस इमेज को मैं नाम दे सकता हूं उब अ लेट अस से उं हान विद विद टूल्स कुछ भी नाम दे सकते हैं इमेज को एंड मैं अपने डेवलपर्स को बोल सकता हूं दैट तुम्हें इसको एक कंटेनर के अंदर रन करना है एंड उस कंटेनर के अंदर मेरी इस इमेज को यूज़ करो एंड इस इमेज के अंदर जितनी भी कॉन्फिन है वो मेरी है राइट तो यह पर्टिकुलर इमेज को मैं डॉकर हब के ऊपर पब्लिश कर सकता हूं तो मेरे जितने भी डेवलपर्स हैं वो सब इस इमेज को अपने लोकल कंटेनर्स के अंदर रन कर सकते हैं एंड सिमिलरली इसी इमेज को मैं अपने amazon-in तो यह होता है डिफरेंस इमेजेस एंड कंटेनर्स के अंदर ठीक है बहुत बढ़िया तो अभी तक हमें पता लग चुका है दैट डॉकर सीआई कैसे वर्क कर है राइट हमें पता लग चुका है इमेजेस क्या होते हैं एंड कंटेनर्स क्या होते हैं अब थोड़ा सा प्ले अराउंड करते हैं ठीक है थोड़ी सी चीजों के साथ खेलते हैं टू जस्ट अंडरस्टैंड ठीक है तो अभी तुम्हें सिर्फ एक कमांड पता है तो अभी हमें सिर्फ एक कमांड पता है दैट इज डॉकर रन हान आईटी उतु एंड अभी हमें ये भी नहीं पता दैट ये आईटी करता क्या राइट तो इसको मैं थोड़ा ज़ूम इन कर लेता हूं एंड इस कंटेनर को हम कर देते हैं एग्जिट राइट तो जैसे मैं एंटर करूंगा यू विल सी दैट हमारे पास एक और कंटेनर स्पिन अप कर जाएगा ठीक है तो ये अगर तुम यहां पे ध्यान से देखोगे अगर यहां पर लिखा हुआ है पीयूष कर्क तो इसका मतलब है दैट ये मेरी लो लोकल मशीन का टर्मिनल है अगर यहां पर रूट वगैरह कुछ करके लिखा आ रहा है तो इसका क्या मतलब है दैट ये हमारे कंटेनर के अंदर है तो अब कुछ कमांड्स को चेक आउट करते हैं तो यहां पे हम कुछ कमांड्स को पढ़ेंगे अगर मैं यहां पे करता हूं डॉकर कंटेनर्स एंड डॉकर कंटेनर एलएस सॉरी डॉकर कंटेनर एलएस तो यू विल सी दैट एलएस कमांड क्या करती है जितने भी हमारे डॉकर रनिंग कंटेनर्स होते हैं रनिंग कंटेनर्स उनको हम क्या कर सकते हैं उनको हम लिस्ट कर सकते हैं राइट तो अगर तुम्हें डे अगर तुम्हारे पास ये डेस्कटॉप नहीं है जो नहीं होगा अगर तुम क्लाउड के साथ वर्क कर रहे हो तो यहां पर तुम्हें क्या करना होता है डॉकर कंटेनर एलएस जो तुम्हें बताता है दैट कौन-कौन से कंटेनर्स चल रहे हैं अगर तुम हान ए करते हो एंटर तो यहां पर सारे कंटेनर्स आ जाएंगे हान एज फॉर ऑल इसका मतलब है अगर कोई कंटेनर बंद भी है तो उसको भी मुझे दिखाओ राइट तो अभी व्हाट यू कैन सी ऑन माय स्क्रीन इज दैट आई कैन सी अगर मैं थोड़ा सा इसको बड़ा करता हूं कि दैट मेरे पास टोटल थ्री कंटेनर्स हैं तीनों में ओबत चल रहा है एंड ये दो कंटेनर्स बंद हो चुके हैं राइट ये दो कंटेनर्स एजिस्ट है लेकिन दिस कंटेनर इज अप एंड रनिंग ओके एंड इनके नेम्स ठीक है तो हर कंटेनर की आईडी होती है हर कंटेनर का एक नेम होता है यू विल बी आस्किंग दैट पीयूष इसका क्या फायदा तुम क्या कर सकते हो अब अगर मैं किसी इसको उठाता हूं किसी का नेम उठाता हूं लेट अस से हम ये वाला कंटेनर उठाते हैं जिसका नेम है अ पेडेंट क ओके तो इसको कॉपी कर लेते हैं तो मैं बोल सकता हूं डॉकर स्टार्ट अगर तुम देख सकते हो वो डॉकर बंद हो चुका है वो कंटेनर बंद हो चुका है तो डॉकर स्टार्ट इसका नाम एंटर तो ये क्या करेगा उस कंटेनर को वापस स्टार्ट कर देगा सिमिलरली आई कैन से डॉकर डॉकर स्टॉप कंटेनर का नेम एंटर एंड वो उस कंटेनर को वापस से क्या कर देगा उस कंटेनर को वापस से करना चाहेगा स्टॉप राइट एंड फॉर सम रीजंस ये थोड़ा सा अटक गया है तो डॉकर स्टॉप दोबारा करके देखते हैं या सो डॉकर स्टॉप हो गया राइट तो इससे क्या होगा हमारा जो कंटेनर है वो डॉकर स्टॉप हो गया राइट तो डॉकर स्टार्ट कंटेनर को स्टार्ट करना डॉकर स्टॉप डॉकर रन बेसिकली क्या करता है वो एक बिल्कुल न्यू कंटेनर को स्पिन अप करता है ओके सो दिस वाज गुड एंड हम क्या कर सकते हैं लेट अस से हम वापस से उस डॉकर कंटेनर को स्टार्ट कर लेते हैं तो यह डॉकर कंटेनर चल रहा है हम अब क्या कर सकते हैं हम इसके अंदर एक कमांड को एग्जीक्यूट करके उसका रिजल्ट वापस लेके आ सकते हैं कैसे आई कैन से डॉकर एग्जीक्यूट ठीक है कंटेनर का नेम एंड उसके बाद मुझे उसके अंदर एलएस कमांड को एग्जीक्यूट करना है एंटर करोगे तो व्हाट यू विल सी इज एलएस के जो भी रिजल्ट आया वो हमारे पास हमारे टर्मिनल पे आ गया एंड यह हमारा जो टर्मिनल है वापस से मेरे ही के अंदर वापस आ गया ठीक है लेकिन अगर मैं वहां पर अटैच करना चाहता हूं अगर मैं चाहता हूं कि मेरा जो कंटेनर है वो डिस्कनेक्ट ना हो मेरा जो कंटेनर है वो उस कंटेनर के मेरा जो टर्मिनल है उस कंटेनर के अंदर अटैच रहे तो उसके लिए तो उसके लिए हम क्या करते हैं हम बोलते हैं डॉकर लेट अस से एग्जीक्यूट ओके हान आईटी व्हिच स्टैंड्स फॉर इंटरेक्ट टीटी वा इसका मतलब ये होता है कि यार जो मेरा ये टर्मिनल है ना उसको मेरे डॉकर के अंदर के टर्मिनल के साथ कनेक्ट कर दो एंड डिस्कनेक्ट मत म करना ठीक है इंटरैक्टिव एंड फिर हम बोल सकते हैं डॉकर एग्जीक्यूट हमारे कंटेनर का नेम एंड मैं यहां पे बोल देता हूं बैश एंटर एंड डॉकर के मैंने स्पेलिंग कर दिए गलत वेरी गुड पीयूष सो डी ओ सी के ई आर एंटर एंड अगर अब तुम देखोगे दैट मेरा जो कंटेनर है मेरा जो टर्मिनल है वो एग्जिट आउट नहीं कर रहा एंड हम परमानेंटली उसी कंटेनर के अंदर है जो हमने सबसे पहले बनाया था राइट एलएस कर सकते हो एमकेडी आईआर कर सकते हो राइट तुम इसके अंदर जा सकते हो सीडी * डटा वन कर लो तुम यहां पे फिर एलस कर लो तो बेसिकली तुम एक कंटेनर के अंदर हो आइसोलेटेड कंटेनर के अंदर एंड इसके अंदर तुम जो करना चाहते हो तुम वो कर सकते हो ठीक है तो हमने कुछ और कमांड्स देखी ठीक है तो जैसे फॉर एग्जांपल हमें अब अब हमें और कमांड्स पता है दैट इज डॉकर रन हाफना आइटी एंड यहां पर हम बोलते हैं इमेज का नेम ठीक है दिस इज वन थिंग तुम बोल सकते हो डॉकर एग्जीक्यूट एंड उसके बाद कंटेनर का नेम यहां पे कंटेनर का नेम आता है एंड व्हाट वी कैन डू यहां पर हम अपनी कमांड लिख सकते हैं जो भी हमें एग्जीक्यूट करनी है राइट एंड उसके बाद हमने एक फ्लग देखा दैट इज हान आईटी दैट स्टैंड्स फॉर इंटरेक्ट सिमिलरली कंट्रोल डी करने से हम यहां से एग्जिट कर जाएंगे हम यहां पर एक और कमांड रन कर सकते हैं दैट इज इमेजेस तो अभी मैं देख सकता हूं दैट मेरी लोकल मशीन के अंदर एक ही इमेज है दैट इज उतु राइट तो डॉकर इमेजेस करने से क्या कर सकते हैं हम डॉकर इमेजेस को देख सकते हैं या फिर हम इमेज हान एलएस भी कर सकते हैं टू सी दी इमेजेस दैट ठीक है मेरी लोकल मशीन के ऊपर क्या-क्या इमेजेस हैं पियूष क्या हमारे पास और भी इमेजेस है क्या हमारे पास सिर्फ उतु है नहीं अगर तुम hub.com प जाते हो एंड यहां पर तुम एक्सप्लोर में जाते हो तो यू विल सी दैट तुम्हारे पास बहुत सारे इमेजेस है हमारे पास इनिक्स की इमेज है हमारे पास अल्पाइन की इमेज है बिज बॉक्स उं python3 पीडी तो हमारे पास बहुत सारे इमेजेस है जिनको हम आउट ऑफ द बॉक्स यूज़ कर सकते हैं राइट इसका क्या मतलब व्हाई डू वी हैव सो मेनी इमेजेस लेट अस से दैट मुझे नोट जस रन करना है राइट तो एक तरीका तो क्या है दैट मैं उबुंटू इमेज के अंदर नट जस को मैनुअली इंस्टॉल करूं लेकिन मैं क्या कर सकता हूं मैं डायरेक्टली नट जस की इमेज को भी यूज़ कर सकता हूं तो अगर मैं इसको कॉपी करता हूं राइट तो मैं यहां पे लिखूंगा डॉकर रन हान आईटी नोड अ हां नोड अब जब मैं एंटर करूंगा तो सबसे पहले हमारे पास एरर आएगा क्योंकि हमारे पास नोड की इमेज लेटेस्टली नहीं है तो पहले वो उसको पुल करेगा पहले वो उसको डाउनलोड करेगा राइट तो यू कैन सी दैट नट जए की इमेज थोड़ी सी हैवी होगी राइट बिकॉज ऑफकोर्स इसके अंदर नट जस वगैरह सब प्री इंस्टॉल्ड होता है तो ये थोड़ी सी हैवी इमेज होगी तो यू कैन सी दैट ये हमारी जो इमेज है वो हो रही है पुल एंड उसके बाद ये क्या करेगा ये कंटेनर स्पिन अप करेगा ऑटोमेटिक ली जिसके अंदर नट जस रनिंग होगी राइट सो लेट्स वेट फॉर अ वाइल तो हम थोड़ा सा कर लेते हैं वेट या सो यू कैन सी दैट ट जए जो है वो हो चुकी है इंस्टॉल एंड इसने ऑटोमेटिक मुझे रेल के अंदर डाल दिया अब मैं यहां पर क्या कर सकता हूं मैं यहां पर ट जए को रन कर सकता हूं आई कैन से हेलो इन डॉकर ठीक है एंड एंटर सो यू कैन सी दैट हेलो इन डॉकर तो नट जस इज रनिंग एंड नोड जस का वर्जन कौन सा है ट जए वर्जन 21 ठीक है एंड ये कंटेनर के अंदर है जस्ट टू प्रूव माय पॉइंट अगर मैं यहां पर जाता हूं ठीक है मैं एक और टर्मिनल ओपन कर लेता हूं इनफैक्ट राइट अगर अब मैं यहां पर रन करता हूं डॉकर अ डॉकर कंटेनर एलएस एंड हान a तो व्हाट यू विल नोटिस इज डॉकर अ कंटेनर कंटेनर की मैंने कर दी स्पेलिंग गलत कंटेनर अगर मैं डॉकर कंटेनर एलएस करता हूं तो यू विल सी दैट हमारे पास टोटल थ्री कंटेनर्स रनिंग है जिसमें से दो हमारे उ बुंद के ऊपर चल रहे हैं एंड एक नोटस के ऊपर चल रहा है राइट तो ये कमांड है दैट एग्जीक्यूटेड इसको हम छोड़ देते हैं अभी के लिए एंड ये उनके नेम्स हैं ओके अगर मैं अपने उबन वाले कंटेनर के अंदर जो मेरा उबुंटू वाला कंटेनर है अगर मैं इसके अंदर नोड को रन करने का ट्राई करूंगा यू विल सी इसके अंदर नोड जस नहीं है बिकॉज़ नोड जस अलग कंटेनर के अंदर है राइट एंड हमारे उस कंटेनर के अंदर नट जस वर्जन कौन सा चल 21 एंड अगर मैं खुद का टर्मिनल ओपन करता हूं जो मेरी खुद की मशीन का है एंड यहां पर अगर मैं न हान हान वर्जन करता हूं तो यू विल सी दैट हमारे पास कौन सा है हमारे पास 18 है तो मतलब कि मेरी अपनी मशीन की के ऊपर ट जए 18 है लेकिन कंटेनर के अंदर मैंने नट जए वर्जन 21 को रन किया सिमिलरली सिमिलरली मैं यहां से किसी भी इमेज को रन कर सकता हूं एंड मेरे पास वो टूल इंस्टॉल्ड हो या चाहे ना हो फॉर एग्जांपल अगर मुझे पोस्टग्रेस रन करना है मैं इस इमेज का यूज़ कर सकता हूं एंड मेरी लोकल मशीन के ऊपर पोस्ट क्रेस इंस्टॉल होने की कोई जरूरत नहीं है मैं हर चीज कंटेनर के अंदर रख सकता हूं राइट तो ये इमेजेस है जो तुम्हें यूज़ करनी चाहिए ठीक है तो यहां पर एक चीज होती है दैट इज वेरीफाइड इमेजेस एंड डॉकर ऑफिशियल इमेजेस तो ये वेरीफाइड एंड डॉकर की अपनी इमेजेस हैं राइट अगर तुम कोई थर्ड पार्टी इमेज यूज़ कर रहे हो तो यू हैव टू बी लिटिल बिट कॉशस क्योंकि उसके अंदर कुछ वायरस हो सकता है उसके अंदर कुछ मालवेयर्स हो सकते हैं तो वो तुम्हें ध्यान रखना है बट यूजुअली इट्स अ गुड प्रैक्टिस कि तुम हमेशा जो ये डॉकर ऑफिशियल एंड वेरीफाइड पब्लिशर्स हैं सिर्फ इनकी ही इमेजेस यूज करो ठीक है तो दिस वाज वन थिंग एंड यूजुअली क्या होता है जब कोई कंपनीज प्रोडक्ट बनाती है फॉर एग्जांपल मैं तुम्हें एक एग्जांपल देता हूं c.com ठीक है अब जैसे c.com पूरा एक प्रोडक्ट है तो ये कंपनीज क्या करती है पूरा प्रोजेक्ट बनाने के बास तुम्हें एक इमेज दे देती है ये तुम्हें बोलती हैं दैट हमने एक इमेज बना लिया दैट इज कल कल कॉम लेट्स से तो अगर तुम्हें अपने खुद के सर्वर पे कल कम को रन करना है c.com को तो तुम बस क्या कर सकते हो डकर रन हान इंटरेक्ट या फिर जैसे भी है तो तुम सीधा बोल दो डॉकर रन कल कॉम ये ऑटोमेटिक क्या करेगा पूरा का पूरा c.com को तुम्हारे लोकल सर्वर पे रन कर देगा राइट तो अगर तुम देखना चाहते हो अगर मैं यहां पर गेट हब पे जाता हूं राइट गेट हप पे एंड यहां पर हम सर्च कर लेते हैं c.com ठीक है तो जस्ट एन एग्जांपल दे रहा हूं मैं तुम्हें ठीक है तो अगर तुम यहां पर नीचे जाते हो तो तुम्हें फॉर श्यर यहां पर डॉक्यूमेंटेशन में तुम्हें मिल जाएगा दैट डॉकर के थ्रू इसको कैसे रन करना है तो डॉकर डॉकर या सो यू कैन सी दैट यहां पर मेल हॉग का इन्होंने यूज़ किया डॉकर रन हान डी एंड प तो यहां पर मेल हॉग है दिस इज अ डिफरेंट इमेज ठीक है मेल हॉग एंड प्रिज्मा वगैरह ठीक है तो यहां पर एक काम करते हैं सर्च कर लेते हैं डॉकर रन को तो डॉकर रन एक ही है तो ढूंढना पड़ेगा दैट सेल्फ होस्टिंग के डॉक्यूमेंट कहां पर है ठीक है डॉक्यूमेंटेशन कहां पर है बट जितने भी बड़ी कंपनीज होते हैं यू गॉट द पॉइंट दैट उनकी अपनी अपनी इमेजेस पब्लिश होती हैं एंड तुम डायरेक्टली उस इमेजेस को यूज करके तुम उन चीजों को सेल्फ होस्ट कर सकते हो एक कंटेनर के अंदर तो अगर तुम एज्यूम करते हो दैट इस कलकम इमेज के अंदर क्या होगा इसके अंदर डेटाबेस इसके अंदर रेडस इसके अंदर हर एक चीज तुम्हारे लिए सेटअप होगी तुम्हें बस इसको पुल करना है एंड इसको रन करना है एंड इससे क्या होता है तुम्हारा जो सेल्फ होस्टिंग है तुम्हारा जो सेटअप है वो बहुत इजी हो जाता है जो हमने फर्स्ट प्टिक जो हमने फर्स्ट स्टेप पे डिस्कस किया था दैट एनवायरमेंट रेप्ट बहुत डिफिकल्ट होता है ठीक है तो एट दिस पॉइंट हमें पता लग चुका है डॉकर क्या होता है किस प्रॉब्लम को वो सॉल्व करता है सीएल आई क्या होता है इमेजेस क्या होते हैं कंटेनर्स क्या होते हैं ठीक है एंड हमने ये भी देख लिया दैट मल्टीपल कंटेनर्स को हम कैसे रन कर सकते हैं करेक्ट अब हम देखते हैं दैट ये जो कंटेनर्स होते हैं ये एक्चुअली में वर्क कैसे करते हैं इंटरनली ठीक है तो हमारा जो नेक्स्ट टॉपिक है वो क्या है पोर्ट मैपिंग राइट पोर्ट मैपिंग ओके एक छोटी सी अनाउंसमेंट अगर तुम डॉकर की सर्टिफिकेशन करना चाहते हो अगर तुम डॉकर को और ज्यादा डेप्थ में एडवांस में समझना चाहते हो इंग्लिश इंग्लिश लैंग्वेज के अंदर तो मेरा डॉकर के ऊपर एक कोर्स भी है तो उसका लिंक मैं डिस्क्रिप्शन में डाल दूंगा तो तुम उसको भी चेक आउट कर सकते हो ओके दिस इज अ वन शॉर्ट वीडियो जिसमें मैं डॉकर को पूरा अच्छे से कवर करता हूं लेकिन वो वीडियो बहुत ही एक इन डेप्थ गाइड है वो कोर्स एक इन डेप्थ गाइड है तो उसको जरूर चेक आउट करना तो रिज्यूम करते हैं हम अपनी वीडियो के साथ तो ठीक है अब देखते हैं पोर्ट मैपिंग क्या होता है राइट व्हाट इज पोर्ट मैपिंग लेट अस से है लेट अस से दैट तुम्हारे पास ना एक कंटेनर है इस कंटेनर के अंदर तुमने ना एक नट जस का एप्लीकेशन रन किया राइट यू आर रनिंग अ नट जस एप्लीकेशन इस कंटेनर के अंदर एंड ऑफकोर्स यह एक सर्वर है राइट दिस इज़ व्हाट दिस इज़ अ सर्वर बट और एंड एक सर्वर को रन करने के लिए क्या चाहिए होता है एक पोर्ट लेट अस से दैट ये जो तुम्हारा पोर्ट है ये 8000 के ऊपर रन कर रहा है द प्रॉब्लम इज़ दैट ये जो पोर्ट 8000 के ऊपर सर्वर रन कर रहा है ना यह कंटेनर के अंदर है एंड मैंने स्टार्टिंग में क्या बताया था दैट जो कंटेनर्स होते हैं वो आइसोलेटेड होते हैं तो अगर तुम अपने ब्राउजर पे जाकर ठीक है लेट्स से अगर ये तुम्हारा ब्राउजर है अगर तुम ब्राउजर पे जाकर तुम सर्च करते हो फ फॉर http2 तो तुम्हारे पास आएगा नॉट फाउंड एरर क्यों तुम बोलोगे यार मैंने तो एक नजस का सर्वर चला ही रखा है ना पोर्ट 8000 के ऊपर एक कंटेनर के अंदर बट मेरा यहां पर कुछ भी चलेगा नहीं रीजन बी बिकॉज वो पोर्ट कहां पर है वो पोर्ट कंटेनर के अंदर चल रहा है राइट तो उसको तुम्हें एक्सपोज करना होता है ठीक है उसको तुम्हें क्या करना होता है एक्सपोज करना होता है तो जस्ट फॉर एन एग्जांपल हम एक एग्जांपल ले लेते हैं अगर मैं car.com के अंदर दोबारा से डॉकर को सर्च करता हूं तो व्हाट यू विल नोटिस इज दैट डॉकर डॉकर अ वयर इज द डॉकर या तो अगर तुम यहां पर ये कमांड देखते हो दैट हमने एक मेल हॉक सर्वर चलाते हैं ठीक है मेल हॉक सर्वर क्या होता है ये एक तरह की इमेज है जिसके अंदर तुम मेल्स सेंड कर सकते हो ठीक है तो एक काम करते हैं इसको रन करते हैं ठीक है इस इस इमेज को रन करने का ट्राई करते हैं तो डॉकर रन हान आईटी एंड मैं यहां पर बोलूंगा मेल हॉक तो ये हमारी इमेज का नेम है एंड एंटर तो सबसे पहले क्या करेगा मेल हॉक का जो भी इमेज है उसको वो पुल इन करेगा एंड उसके बाद वो उसको रन कर देगा मेरे लिए तो ये एक तरह का क्या है ये एक तरह का ईमेल सर्वर है एंड ये जो मेल हॉग है ये कौन से पोर्ट पे चलता है 1025 के ऊपर ठीक है तो अगर हम वापस चलते हैं अभी हमने क्या किया हमने ना एक कंटेनर स्पिन अप किया मैंने तुम्हारे सामने कंटेनर स्पिन अप किया इस कंटेनर का नेम क्या है मेल हॉग एंड ये कौन से पोर्ट के ऊपर चलता है ये चलता है पोर्ट नंबर मैं फिर भूल गया 1025 के ऊपर ठीक है तो 1025 के ऊपर अब टेक्निकली होना क्या चाहिए अगर मैं वापस आता हूं तो यह 1025 के ऊपर रनिंग है यू कैन सी एंड अगर मैं यहां पर ट्राई करता हूं लोकल होस्ट 1025 एंटर तो यू विल सी दैट दिस साइट कैन नॉट बी रिच्ड क्यों बिकॉज वो 1025 कहां चल रहा है यह 1025 चल रहा है कंटेनर के अंदर तो हमें क्या करना होता है जब भी हम किसी कंटेनर को रन करते हैं हम उसके अंदर पोर्ट्स को एक्सपोज कर सकते हैं एंड वो कैसे कर सकते हैं उसके लिए हमारे पास एक कमांड होती है तो हम बोल सकते हैं डॉकर रन इंटरैक्टिव न p इसका मतलब होता है पोर्ट मैपिंग हम यहां पे बोलेंगे 1025 को 1025 व्हाट डज दिस मीन कि यार जो पोर्ट जो कंटेनर के अंदर का पोर्ट है ना 1025 उसको मेरी मशीन के 1025 के ऊपर एक्सपोज कर दो कंटेनर के अंदर का 1025 को एक्सपोज कर दो मेरे 1025 के ऊपर एंड उसके बाद हमारी इमेज का नेम दैट इज़ मेल जो भी था क्या था हमारी इमेज का नेम तो वापस ऊपर करते हैं तो ये हमारी इमेज का नेम है इसको हम कर लेते हैं कॉपी एंड इसको मैं यहां पे कर देता हूं पेस्ट तो ये क्या करेगा जब इस कंटेनर को रन करेगा इस पर्टिकुलर कंटेनर के अंदर के पोर्ट को मेरे बाहर की मशीन के 1025 के ऊपर एक्सपोज कर देगा ट्राई करें तो सेम कमांड बस इसमें हमें एक चीज एक्स्ट्रा करनी है दैट इज 1025 को एक्सपोज कर दो 1025 के ऊपर एंड एंटर दोबारा से रन हुआ बहुत फास्ट है दिस टाइम बिकॉज़ हमारे पास ऑलरेडी इमेज पुल्ड इन थी मेल हॉक की राइट अगर तुम यहां यहां पे इमेजेस में देखते हो तो मेल हॉग हमारे पास ऑलरेडी था अब अगर मैं वापस जाकर यहां पर रिफ्रेश करता हूं ठीक है तो हमारे पास कुछ तो एरर आया एंड एरर क्यों आया तो हमारे पास बेसिकली एरर आया ठीक है तो वो ड्यू टू दिस इज सम काइंड ऑफ इशू इनसाइड दी कंटेनर ओनली तो आई विल टेल यू बेसिकली हुआ क्या ठीक है तो अभी इस टाइम हमारे पास अगर तुम देखोगे दैट दिस पेज इज इंट वर्किंग राइट लोकल हो सेंट एन इनवैलिड रिस्पांस तो अगर तुम ध्यान से देखोगे दैट पहले एरर क्या आ रहा था 44 का दैट वो चल ही नहीं रहा था लेकिन अभी एटलीस्ट वो चला ठीक है तो मैंने यहां पर एग्जांपल एक्चुअली गलत उसकी ली एक काम करते हैं हम किसी नट ज सर्वर को रन करने का ट्राई करते हैं इमेज के अंदर तो यहां पे मैं जाऊंगा हब ड डकर के अंदर एंड मैं यहां पर क्या करता हूं मैं यहां पर सर्च करूंगा अ एक काम करते हैं मैं यहां पर साइन इन कर लेता हूं बिकॉज़ मैंने खुद की इमेजेस को भी पहले पुश कर रखा है राइट तो मैं यहां पे फटाफट साइन इन कर लेता हूं डॉकर के अंदर तो कंटिन्यू एंड यहां पर हम अपना भरेंगे पासवर्ड एंड कंटिन्यू तो ये मेरा डकर हब का अकाउंट है तो मैंने खुद की कुछ इमेजेस भी अ पुश कर रखी थी तो हम एक काम करते हैं हम अ इसको यूज़ कर लेते हैं राइट नेटवर्किंग लैब है एंड माय नोड प या हम इसको ट्राई करते हैं ठीक है तो मैं क्या करूंगा मैं इस पर्टिकुलर इमेज को रन करने का ट्राई करता हूं तो इसको हम कर लेते हैं कॉपी तो कंट्रोल c कमांड के डॉकर रन हान इंटरेक्ट एंड इमेज का नेम एंटर पहले एरर आया अनेबल टू फाइंड द इमेज बिकॉज़ ओबवियसली वो उसको पहले पुल करेगा तो इसको पुल हो लेने देते हैं ठीक है तो इसके अंदर पहले लेट अस हैव अ पुल यह मैंने 1 साल पहले ओके एक साल पहले पुश की थी ओके सो नाउ व्हाट यू कैन सी दैट सर्वर रनिंग एट पोर्ट 9000 ग्रेट लेकिन अगर तुम जैसे एक्सपेक्ट कर रहे हो अगर मैं लोकल होस्ट 9000 ओपन करूंगा तो क्या होगा तो ओबवियसली वो चलेगा नहीं राइट नहीं चल रहा क्यों बिकॉज़ 9000 पोर्ट कहां पर है कंटेनर के अंदर तो इसको रन करने के लिए हमें क्या करना चाहिए था तो पहले इसको हम फटाफट हॉल्ट कर देते हैं कंट्रोल सी एंड फॉर सम रीजंस ये हॉल्ट नहीं हो रहा इसको टर्मिनेट कर देते हैं तो दोबारा से न्यू कंटेनर ठीक है वापस ऊपर वाली कमांड एंड इसमें हमें पता है दैट 9000 पोर्ट है तो माइनस p राइट 9000 को मैप करो कंटेनर के अंदर के 9000 के साथ एंड एंटर दोबारा से कंटेनर रन करने देते हैं ठीक है तो दोबारा से कंटेनर रन होगा मीनवाइल एक काम करते हैं ये जो फालतू के कंटेनर चल रहे हैं इनको हम टर्मिनेट कर लेते हैं राइट मीनवाइल हम इनको टर्मिनेट कर देते हैं तो नाउ व्हाट डू यू सी दैट हमारे पास एक दोबारा से यही सेम रनिंग कंटेनर है पोर्ट मैपिंग है अब अगर मैं यहां पर रीलोड करता हूं तो व्हाट यू विल सी 9 9000 ओके 9000 अगेन एंड एंटर तो अब अगर मैं यहां पर लोकल होस्ट 9000 को ट्राई करता हूं राइट एंड फॉर सम रीजन ये मुझे 99 रीडायरेक्ट कर रहा है मेरे लोकल कॉन्फिन में कुछ तो गड़बड़ है एक काम करते हैं पोस्टमन से ट्राई कर लेते हैं ठीक है होता है जब रिकॉर्डिंग करते हैं ना ऐसे एरर्स बहुत आते हैं आई डोंट नो व्हाई तो हम एक काम करते हैं फटाफट पोस्टमन से इसको टेस्ट करते हैं जस्ट टू प्रूव माय पॉइंट दैट मैं झूठ नहीं बोल रहा हूं एंड यह हमारा आ चुका है पोस्टमैन यप तो अगर मैं अपने पोस्टमैन के अंदर यहां पर एक न्यू रिक्वेस्ट करता हूं दैट इज ऑन अ लोकल होस्ट एंड पोर्ट 9000 के ऊपर एंड हम इसको करते हैं रन तो व्हाट यू विल सी इज दैट हमारे पास आया हेलो फ्रॉम डॉकर राइट लेट अस से अगर हम इस कंटेनर को करते हैं बंद ठीक है इस कंटेनर को मैं हॉल्ट कर देता हूं तो हमारा ये कंटेनर यहां पर रनिंग है एंड इसको मैं यहां पे हम इसको स्टॉप एक काम करते हैं सारे कंटेनर्स को ही हम कर देते हैं स्टॉप ठीक है सो जितने भी हमारे कंटेनर्स रनिंग हैं हम इनको स्टॉप कर देते हैं बिकॉज़ कंटेनर्स मेमोरी थोड़ा सा कंज्यूम करते हैं एंड आल्सो बिकॉज़ आई एम इन रिकॉर्डिंग मोड राइट नाउ तो मेरी बहुत ज्यादा मेमोरी यूज हो रही है अब अगर मैं इसको सेंड करता हूं तो व्हाट डू यू सी दैट हमारा जो 9000 के ऊपर कनेक्शन है वो हो रहा है रिफ्यूज बिकॉज़ हमारा कंटेनर हो चुका है बंद दोबारा से रन करते हैं लेकिन इस टाइम मैं क्या करूंगा ना मैं इसको बोलूंगा यहां पर हम बोलेंगे 6000 इसका क्या मतलब दैट जो मेरा कंटेनर के अंदर पोर्ट है वो तो 9000 है जिसको हम चेंज नहीं कर सकते लेकिन उसको तु माउंट करो मेरे 6000 के ऊपर राइट व्हाट इसका क्या मतलब हो रहा है दैट मैं इसको क्या बोल रहा हूं दैट कंटेनर के अंदर अंदर का जो पोर्ट है वो तो है 9000 जिसको हम चेंज नहीं कर सकते लेकिन जो भी कंटेनर के अंदर 9000 है ना उसको तुम मेरे 6000 के ऊपर मैप कर दो ठीक है एंटर करते हैं तो यू विल सी कसोल डलॉग सेम आएगा दैट सर्वर इज रनिंग ऑन 9000 लेकिन अगर मैं 9000 के ऊपर रिक्वेस्ट करूंगा यू विल सी दैट नथिंग इज देयर बिकॉज़ हमने उसको मैप कर दिया 6000 के ऊपर राइट 6000 एंड सेंट एंड नाउ व्हाट डू यू सी हेलो फ्रॉम डॉकर तो इस तरह से हम क्या कर सकते हैं हम अपने पोर्ट्स को एक्सपोज कर सकते हैं ठीक है कंट्रोल c करते हैं ठीक है दोबारा से इसको हल्ट करते हैं एंड यह हॉल्ट होने में थोड़ा सा टाइम लेता है आई डोंट नो द रीज़न ठीक है कुछ तो मेरी मशीन के अंदर मेमोरी इशू है तो दोबारा से इसको यहां से स्टॉप कर देते हैं तो सभी सिलेक्ट एंड स्टॉप तो यह हो जाएगा हमारा स्टॉप एंड अब अगर मैं इसको बिना पोर्ट मैपिंग के चलाने का ट्राई करूंगा तो इससे क्या होगा हमने कोई भी पोर्ट को एक्सपोज किया नहीं सर्वर इज रनिंग बट अगर अब तुम देखोगे दैट अ नाना तो वो 6000 पे चल रहा है एंड अगर मैं 9000 पे भी जाता हूं तो वो 9000 पे भी नहीं चल रहा है तो इसको हम कहते हैं पोर्ट मैपिंग तो अगर तुम कोई भी सर्विस रन कर रहे हो एक कंटेनर के अंदर तो मेक श्योर दैट तुम उसके पोर्ट्स को मैप करो तो अगर हम वापस कलकम में जाते हैं तो कैन यू सी दैट यहां पर एक हान p राइट तो यहां पर हम क्या कर रहे हैं हम दो पोर्ट्स को एक्सपोज कर रहे हैं एंड दिस वाज द रीज़न हमारा मेल हॉग नहीं चल रहा था तो मेल हॉग में हमें दो पोर्ट्स को एक्सपोज करना होता है वन इज 8025 सेकंड वन इज 1025 तो इसका क्या मतलब है दैट 8025 कंटेनर के पोर्ट को एक्सपोज करो 8025 मेरी मशीन के होस्ट पे सिमिलरली h प इसको एक्सपोज करो मेरे उस पे तो ये मल्टीपल हम पोर्ट्स को क्या कर रहे हैं एक्सपोज कर रहे हैं एंड फाइनली फिर इमेज का नेम ओके ग्रेट तो ये तो होता है हमारा पोर्ट मैपिंग सिमिलरली लेट्स आल्सो टॉक अबाउट एनवायरमेंट वेरिएबल अगर तुम्हें अपने डॉकर कंटेनर के अंदर कुछ एनवायरमेंट वेरिएबल को पास करना है तो हम क्या कर सकते हैं हम हाइन e एंड उसके बाद हमारे जो भी की है इक्वल्स टू वैल्यू फिर उसके बाद हाइन e हमारी जो भी नेक्स्ट की है इक्वल्स टू वैल्यू इसका क्या मतलब इससे हम एनवायरमेंट वेरिएबल को पास कर सकते हैं हमारे डॉकर कंटेनर के अंदर ठीक है तो यह हम चीज देखेंगे जब हम खुद का एक डॉकराइजेशन करेंगे खुद के नोटस एप्लीकेशन का तो वहां पे हम एनवायरमेंट वेरिएबल को इस तरह से हम सेट कर सकते हैं इसकी क्या जरूरत एनवायरमेंट वेरिएबल सेट करने की क्या जरूरत अगर तुम्हें कुछ एक्स्ट्रा डेटा पास करना है तुम्हारे कंटेनर के अंदर यूजिंग एनवायरमेंट वेरिएबल तो हान e की वैल्यू पेयर्स मल्टीपल की वैल्यू पेयर्स करके तुम एनवायरमेंट वेरिएबल को भी पास कर सकते हो ठीक है अगर तुम यहां पर ही देखोगे तो यहां पर इन्होंने बोला है दैट नोट रिक्वायर्ड ठीक है व्हेन ई टू ई टेस्टिंग मे लॉग इनेबल्ड इज वन तो ये एक एनवायरमेंट वेरिएबल है तो यहां पर हम क्या कर सकते हैं हान e ये वाली की इक्वल्स वन करके भी पास कर सकते हैं इसको हम बोलते हैं एनवायरमेंट वेरिएबल तो अब हम देखते हैं सबसे इंटरेस्टिंग पार्ट दैट अगर तुम्हारे पास एक नोड जस एप्लीकेशन है तो तुम उसको डॉकराइज कैसे कर सकते हो राइट एक एप्लीकेशन को पूरा डॉकराइज कैसे करते हैं तो उसके लिए व्हाट आई विल डू इज पहले एक टर्मिनल ओपन कर लेते हैं बहुत इजी है तो आई एज्यूम दैट तुम्हें एक बेसिक्स नोट जस तो आती ही होगी तो इसको तो हम कर देते हैं हल्ट एंड मीन वाइल हम एक और काम करेंगे राइट अ हम ना सभी कंटेनर्स को डिलीट कर देते हैं ठीक है मुझे कंटेनर्स नहीं चाहिए तो इसको हम कर देंगे डिलीट तो एंड उसके बाद हम क्या करेंगे हम सारी इमेजेस को भी कर देते हैं डिलीट ठीक है तो अभी मेरी जो मशीन है वो बिल्कुल हो चुकी है खाली तो आई डोंट हैव एनी इमेज आई डोंट हैव एनी कंटेनर तो यू कैन सी अब एक काम करते हैं हम अपने कोडिंग फोल्डर के अंदर आते हैं यहां पर हम एक एमके डीआई करेंगे डॉकर नोड एंड सीडी इन टू द डॉकर नोड एंड यहां पर मैं बोलूंगा कोड डॉट इससे क्या होगा मेरा वीएस कोड ओपन हो जाएगा राइट तो यह मेरा आ चुका है वीएस कोड तो इसके अंदर हमें क्या करना है इसके अंदर हमें एक नट जीएस एप्लीकेशन को डॉकराइज मतलब कि कंटेनराइज करना है तो लेट्स सी हम उसको कैसे कर सकते हैं ठीक है बहुत इजी है सबसे पहले हम क्या करेंगे हम इसको जूम इन कर लेते हैं एंड इसको मैं फुल स्क्रीन कर लेता हूं तो इसको मैं थो तुम्हारे लिए करता हूं फुल स्क्रीन तो अगर सबसे पहले हमें अपना एक सिंपल सा एक नोडस का सर्वर बनाते हैं राइट तो हम बोलेंगे यहां पर एनपीएम एनपीएम इन इट राइट तो इससे हमारी पैकेज जेसन बन जाएगी तो यहां पर मैंने एंटर एंटर एंटर किया तो यू कैन सी पैकेज जस बन गई अब हम एक काम करते हैं एनपीएम इंस्टॉल भी कर लेते हैं एक्सप्रेस को एंटर एक्सप्रेस इंस्टॉल हो जाएगी मीन वाइल हम यहां पर एक मेन फाइल भी बना लेते हैं main.js ठीक है तो यहां पर हम अपना फटाफट एक छोटा सा एक एप्लीकेशन बना लेते हैं एक्सप्रेस इक्वल्स रिक्वायर एंड यहां पर मैं बोलूंगा एक्सप्रेस ठीक है कॉस्ट प इ ट एक्सप्रेस तो ये हमारा बन गया एक्सप्रेस का एप्लीकेशन फिर हम यहां पर पोर्ट भी ले लेते हैं पोर्ट पीओ आरटी इक्वल्स या तो मैं बोलूंगा process.env पो या फिर अगर तुम मुझे पोर्ट नहीं दोगे तो बाय डिफॉल्ट य 8000 के ऊपर रन करेगा एडलिन ठीक है तो यहां पर हम एक राउट बना लेते हैं होम राउट तो इसके अंदर हमारे पास होता है रिक्वेस्ट रिस्पांस एंड यहां पर हम बोलेंगे रिटर्न रिस्पांस जसन राइट ड जसन सॉरी पड गेट करना था यहां पे तो ड जसन मैसेज ठीक है मैसेज एंड हम बोलेंगे हे हे आई एम नोट इन कंटेनर ठीक है तो सिंपल कुछ भी यहां पे तुम लिख सकते हो तुम अपना पूरा एक एप्लीकेशन बना सकते हो एंड फाइनली हम यहां पे बोलेंगे एडलिन ऑन दी पोर्ट जो हमने अभी बनाया था राइट एंड यहां पर मैं बोल सकता हूं एक कॉल बैक फंक्शन व्हिच सेज कलॉग सवर स्टार्टेड ऑन पोर्ट एंड यहां पर मैं अपना यहां पर पोर्ट डाल दूंगा दैट्ची होता है बहुत सिंपल है हम यहां पर एक फाइल बनाएंगे जिसका नाम होगा डॉकर फाइल ठीक है मेक श्यर दैट तुम इसको यही वाला नेम दो डॉकर विद अ कैपिटल डी डॉकर फाइल एंड यू कैन सी दैट इसकी कोई भी एक्सटेंशन नहीं है ठीक है तो ये एक तरह की कॉन्फ़िगरेशन होती है दैट हमें इसकी एक इमेज बनानी है ठीक है अब मैं तुम्हें समझाता हूं दैट अब अब हम करने क्या वाले हैं हमारे पास ना एक कोड है हमारे पास ना एक नट जए का कोड है जिसके अंदर हमारे पास ना कुछ फाइल्स हैं हमारे पास एक पैकेज फाइल है हमारे पास एक main.js फाइल है हमारे पास एक पैकेज लॉक फाइल है हमें क्या करना है ना हमें ना इसकी एक इमेज बनानी है सो दैट बाकी यूजर्स बाकी डेवलपर्स भी यूज कर सके एक कंटेनर को रन करने के लिए यूजिंग दिस इमेज तो उसके लिए हम क्या करते हैं हम एक डॉकर फाइल बनाते हैं ठीक है हम एक डॉकर फाइल बनाते हैं तो यह मैंने बनाया डॉकर फाइल इस डॉकर फाइल के अंदर हम क्या करते हैं हम सारी कॉन्फ़िगरेशन देते हैं दैट किस तरह से हम इमेज को बनाएंगे तो इस डॉकर फाइल को लिखना स्टार्ट करते हैं सबसे पहले हम एक बेस इमेज चूज करते हैं हम क्या चूज करते हैं एक बेस इमेज देखो अभी फिलहाल मेरे लैपटॉप की बेस इमेज क्या है कैन आई से दैट मैं मैको इस के ऊपर कर रहा हूं राइट तो सिमिलरली हमें क्या चाहिए हमें ना एक बेस इमेज चाहिए क्या मैं बोल सकता हूं दैट मैं क्या करूंगा मैं ना उबुंटू कर सकता हूं एज अ बेस इमेज कैन आई से दैट बिल्कुल उबुक एक बेस इमेज है राइट तो मैं यहां पे बोल सकता हूं फ्रॉम एंड यहां पर हम बोलेंगे उबुंटू ठीक है डन इसका क्या मतलब ये उबुंटू कहां से आएगा इफ यूर रिमेंबर hdr.com पे ऊपर देखा था हमने क्या किया अभी तक हमने अपनी जो इमेज बनाना स्टार्ट किया है ना उसके अंदर ना हमारे पास जो ऑपरेटिंग सिस्टम है वो है उं ठीक है तो ये एक लेयर बन गई यू कैन सी दैट ये क्या है उं ठीक है अब हमें क्या करना है इस पर्टिकुलर उब के ऊपर नट जए को इंस्टॉल करना है करेक्ट तो उसके लिए हम क्या कर सकते हैं हम यहां पे सर्च करेंगे उतु अ नट जस इंस्टॉलेशन तो देखते हैं नट जस इंस्टॉलेशन कैसे कर सकते हैं तो अगर मैं यहां पे कोई भी एक आर्टिकल ओपन कर लेता हूं तो यहां पे व्हाट यू विल सी इज दैट हमें सबसे पहले एटी अपडेट करना है ठीक है एप्ट अपडेट करना है तो एक काम करते हैं यहां पे हम करेंगे रन कंटेनर के अंदर हम बोलेंगे एप्ट अपडेट ठीक है अपडेट हो जाएंगे पैकेजेस फिर हम क्या बोल सकते हैं एक काम करते हैं हम ये वाला मेथड अ मेथड ूज़ करेंगे तो कर्ल को भी हम कर लेते हैं डाउनलोड ठीक है तो यहां पे हमें यहां पे पप एक्चुअली हान अपडेट ठीक है तो मैंने यहां पर क्या किया अपडेट कर लिए पैकेजेस फिर हम यहां पर रन करेंगे ठीक है तो यहां पे कॉपी कर लेता हूं तो हम यहां पे बोलेंगे एप्ट गेट इंस्टॉल कर्ल ठीक है तो हमने क्या किया डॉकर के अंदर एक टूल इंस्टॉल किया दैट इज कर्ल तो ये सब डॉकर के अंदर हो रहा है ठीक है जब हम इमेज को बिल्ड करते हैं ना तो ये सब कुछ हमारे इमेज के अंदर हो रहा है ठीक है कर्ल इंस्टॉल हो गया फिर हम क्या करेंगे हम यहां पर एक कमांड लिखेंगे दैट इज मुझे क्या करना है रन ठीक है हम क्या कर रहे हैं हम यहां पे बोल रहे हैं दैट मुझे नट ज सेटअप करना है लेट अस से वर्जन 18 ठीक है मुझे ट जस वर्जन 18 सेटअप करना है ठीक है उसके बाद हम वापस से क्या कर सकते हैं हम वापस से रन करेंगे अ अपडेट को ठीक है तो ये फिकर म करो ये कमांड्स मैं तुम्हें डिस्क्रिप्शन में दे दूंगा ठीक है तो सारी कमांड्स में अवेलेबल होंगी तो यहां पे मैं एक काम करता हूं फटाफट मैं यहां पे कुछ कमांड्स कॉपी पेस्ट करता हूं ठीक है तो यहां पे हमें मिल गया एटी गेट अपडेट हान हान y इसको हटा देते हैं एंड उसके बाद बस हम क्या करेंगे हम यहां पे बोलेंगे दैट रन ठीक है तो रन नट जए तो ये सारी कमांड्स क्या करेंगी ये सारी कमांड्स हमारे लिए ट जए को इंस्टॉल करेंगी ठीक है तो एट दिस पॉइंट क्या होगा हमारा जो मशीन थी उं इसके ऊपर हमने नट जस 18 इंस्टॉल कर लिया राइट तो यहां पर पर मैंने क्या किया मैंने यहां पर नोड वर्जन 18.0 को कर लिया इंस्टॉल ग्रेट ठीक है तो अभी तक हमारे हमारी इमेज की स्टेट के हमारे पास उं ऑपरेटिंग सिस्टम है नट जस वर्जन 18 है अब हम क्या करेंगे हम अपने इस कोड को कॉपी करेंगे हमारे इमेज के अंदर तो उसके लिए हम बोलेंगे कॉपी क्या कॉपी करना है ठीक है मैं बोलूंगा दैट एक काम करो एक तो ना पैकेज जसन को ले लो एंड उसको तुम कंटेनर के अंदर कॉपी कर दो यहां पे ठीक है तो यहां पे क्या होता है सोर्स डेस्टिनेशन तो यहां पे ये पैकेज जेसन को कॉपी करके कंटेनर के अंदर ले जाएगा इमेज के अंदर ले जाएगा ठीक है उसके बाद एक काम करते हैं पैकेज लॉक को भी उठा लेते हैं एंड पैकेज लॉक को भी हम कॉपी कर देते हैं एंड फाइनली हम एक काम करते हैं हम यहां से मेन को भी उठा लेते हैं नोड मॉड्यूस को नहीं उठाएंगे ठीक है तो main.js को उठा के main.js में रख देते हैं ठीक है तुम इसका नाम भी चेंज कर सकते हो तुम इसको इंडेक्स . जीए भी कर सकते हो ये क्या करेगा main.js को उठा के index.js में रख देगा ठीक है बट इट्स अ गुड प्रैक्टिस कि हम हमेशा सेम नाम रखें ठीक है तुमने नट जस को इंस्टॉल कर लिया तुमने पैकेज कोड को कॉपी कर लिया अब हम एक काम करेंगे रन करेंगे एक कमांड दैट इज एनपीएम इंस्टॉल क्या करता है एनपीएम इंस्टॉल एनपीएम इंस्टॉल कंटेनर के अंदर रन करेगा एंड नोड मॉड्यूस को जनरेट कर लेगा एंड फाइनली हम क्या करेंगे हम यहां पर एक कमांड डाल देते हैं एग्जीक्यूट अ एंट्री पॉइंट ठीक है कि जब भी ये कंटेनर रन हो जब भी कोई इस इमेज को रन करे हम नोड main.js को रन कर देंगे दैट्ची ठीक है तो कुछ भी तुम्हारी इमेज का नाम जैसे उं एक इमेज है राइट अ फेडोरा एक इमेज है आर्च एक इमेज है तो तो तुम अपनी इमेज का कुछ भी नाम दो एंड उसके बाद हमें इस डॉकर फाइल का पाथ देना होता है डॉट का मतलब है दैट मेरी जो फाइल है वो इसी फोल्डर में एजिस्ट करती है जैसे ही मैं एंटर करूंगा यू विल नोटिस क्या हो रहा है यहां पे वो क्या कर रहा है मेरी इमेज को बिल्ड कर रहा है वो उबुंटू को पुल करेगा मेरी इमेज को वो बिल्ड कर रहा है जिसमें थोड़ा सा टाइम लग सकता है ठीक है तो यहां पर हम करेंगे वेट तो यू कैन सी दैट ये क्या कर रहा है ये जितनी भी हमने यहां पे कॉन्फ़िगरेशन दी थी वो इसको बारी-बारी रन करेगा एंड जो भी हमारा फाइनल रिजल्ट बनेगा उसकी मुझे एक इमेज बनाकर दे देगा और उस इमेज के अंदर हमारे पास नोट जीएस होगा हमारा कोड होगा एंड उसके अंदर जैसे ही हम उसको रन करेंगे हमारी ये पर्टिकुलर चीज रन कर जाएगी ठीक है तो अभी हम इसको करते हैं वेट तो यू कैन सी दैट हमारी जो कमांड्स हैं वो एग्जीक्यूट कर रही हैं राइट कैन यू सी दैट ये हमारी कमांड्स को लाइन बाय लाइन एग्जीक्यूट कर रहा है ठीक है एंड ये सब कुछ कंटेनर के अंदर होगा ऑलरेडी वंस जब हम इमेज को बिल्ड करते हैं ये सिर्फ और सिर्फ तब होगा उसके बाद नहीं सो नाउ एज यू कैन सी दैट हमारी जो इमेज है वो हो चुकी है बिल्ट तो मैं इसको एक्सपेंड करता हूं तो इसने ने मेरी कमांड्स को किया रन एंड इसने फाइनली क्या किया मेरी एक इमेज बनाकर रख दी करेक्ट अब अगर मैं वापस जाके अपने इमेजेस को रिफ्रेश करता हूं तो व्हाट यू विल सी इज दैट हमारे पास एक इमेज है ये मेरी कस्टम इमेज है राइट इसका नाम क्या youtube0 बट अभी ये इमेज पब्लिश नहीं है ठीक है यह docker.io के ऊपर नहीं है ये सिर्फ मेरी लोकल मशीन के अंदर है इसको मैं अभी सिर्फ अपनी ही मशीन के अंदर यूज़ कर सकता हूं ठीक है तो यूज़ करके देखें तो यहां पर मैं बोलूंगा डॉकर रन पहले तुम देख लोट कोई भी कंटेनर रनिंग नहीं है राइट कोई भी कंटेनर अर रनिंग नहीं है इमेज बन चुकी है डॉकर रन इंटरैक्टिव ठीक है हमारी इमेज का नेम क्या है हमारी इमेज का नेम है youtube1 नट जए एंड अगर मैं इसको सिंपली एंटर करता हूं तो क्या होगा सर्वर स्टार्टेड ऑन पोर्ट 8000 ठीक है बट अगर मैं यहां पर अपना पोस्टमैन ओपन कर लेता हूं एंड मैं 8000 के ऊपर रिक्वेस्ट करता हूं तो क्या यह रिक्वेस्ट जाएगी नहीं क्यों बिकॉज़ पियूष तुमने पोर्ट मैपिंग तो दी ही नहीं ओके ठीक है मैं भूल गया तो अब एक काम करते हैं पोर्ट मैपिंग भी दे देते हैं राइट एंड फॉर सम रीजंस मेरा यह कंट्रोल c पता नहीं क्यों नहीं वर्क कर रहा है तो इसको मुझे मैनुअली यहां से स्टॉप करना पड़ता है ठीक है तो यह स्टॉप होने में काफी टाइम लगाता है आई एम श्यर दैट आई डोंट नो व्हाट इज़ द प्रॉब्लम ठीक है या तो एग्जिट हो चुका है तो अब हम यहां पर क्या करेंगे मैं यहां पर एक पोर्ट मैपिंग दूंगा तो मैं यहां पे बोलूंगा दैट न p 8000 को ठीक है जो कंटेनर का 8000 है ना उसको ना तुम मैप कर दो मेरे 8000 के ऊपर ठीक है तो कंटेनर का 8000 मेरे 8000 के ऊपर कर दो मैप वापस से करो एंटर अब अगर मैं सेंड करूंगा हमारे पास आया मैसेज हे आई एम नोट जस इन कंटेनर देख रहे हो हमने क्या किया था मेन जेएस के अंदर हमने क्या किया था हमने यहां पर यह तो किया था हे आई एम नॉट जस इन कंटेनर जस्ट इन केस तुम देखना चाहते हो दैट इस कंटेनर के अंदर क्या हो रहा है मैं यहां पर पता है क्या कर सकता हूं मैं यहां पर एक और टर्मिनल ओपन करूंगा इसको बंद मत करना ठीक है यह कंटेनर चलता रहने दो तुम यहां पर लिखो डॉकर एग्जीक्यूट इंटरेक्ट ठीक है इस कंटेनर की आईडी ले लेते हैं तो इस कंटेन कंटेनर की ये जो आईडी थी ना सॉरी इसको हम वापस बैक करते हैं तो यहां पर इस कंटेनर की मुझे आईडी कहां से मिलेगी या ये आईडी है इसको कॉपी कर लेते हैं इसको हम यहां पर करेंगे अ वयर इज दैट कंटेनर या यहां पे हम करेंगे पेस्ट ठीक है इतनी बड़ी उठाने की जरूरत नहीं है शुरू के कुछ वर्ड्स उठा लो ये वर्क करेगी ठीक है तो बस मैं शुरू के कुछ वर्ड्स उठा लेता हूं एंड यहां पर मैं बोलूंगा बैश एंटर तो मैंने क्या किया मैं उस कंटेनर के अंदर आ गया अगर मैं यहां पे एलएस करता हूं कैन यू सी दैट यहां पर हमारे पास मेन जेएस पैकेज लॉक पैक के जसन है राइट यहां पर वो क्यों है बिकॉज हमने यहां पर क्या किया था हमने यहां पर उसको कॉपी किया था अगर मैं यहां पर कैट करता हूं किसको मेन ड जस के अंदर मेन ड जए तो कैन यू सी दैट ये तो हमारा ही कोड है ये तो हमारा ही कोड है जो हमने कॉपी किया था बहुत बढ़िया सिमिलरली इफ यू रिमेंबर हम यहां पर एक एक पोर्ट लेते हैं एनवायरमेंट से तो हम उसको भी पास कर सकते हैं राइट तो वापस इसको हम कर देते हैं स्टॉप ठीक है तो वापस से हम इस कंटेनर को कर लेते हैं स्टॉप या तो अब मैं यहां पर कर करूंगा डॉकर रन इंटरैक्टिव - p ठीक है तो पहले यहां पे - e देते हैं दैट इज एनवायरमेंट वेरिएबल तो उसको मैं बोलूंगा पोर्ट इक्वल्स 4000 इसका क्या मतलब कि यार मुझे ना 4000 के ऊपर रन करना है तो अब इस process.env पोर्ट की वैल्यू हो जाएगी 4000 अब मैं बोल सकता हूं दैट मेरे 4000 के ऊपर मैप कर दो 4000 को एंड वापस से सेम इमेज का नेम ठीक है तो वापस से ये वाली इमेज लेनी थी तो मैंने गलती से आईडी को पेस्ट कर दिया तो उसको वापस से कर देते बैक स्पेस एंड मैं यहां पे इसको करूंगा पेस्ट एंड अब देखना क्या होगा अब हमारा सर्वर स्टार्ट हुआ 4000 के ऊपर तो इस तरह से हम क्या कर सकते हैं एनवायरमेंट वेरिएबल को पास कर सकते हैं राइट अगर सेंड करूंगा इस पे नहीं चलेगा मुझे यहां पे जाना होगा 4000 के ऊपर एंड सेंड एंड यू कैन सी दैट मेरा जो सर्वर है अब वो 4000 के ऊपर रन कर रहा है तो इस तरह से हम क्या कर सकते हैं बहुत ही सिंपली हम अपने पूरे कंटेनर को अपने पूरे एप्लीकेशन को डॉकराइज कर सकते हैं ठीक है तो बस ये कॉन्फिन फाइल को हमें लिखना होता है ठीक है यहां पर बहुत सारी ऑप्टिमाइजेशंस होते हैं जो हमें करनी होते हैं जिसको हम नेक्स्ट वीडियो के अंदर देखने वाले हैं तो अगर तुम्हें यहां पे रिमेंबर होगा दैट यहां पर मैंने क्या किया था यहां पर मैंने एक चीज लिखी थी दैट इज़ डॉकर मल्टी स्टेज बिल्ड्स तो इसके अंदर हम देखेंगे दैट ये लेयर्स क्या होते हैं ये किस तरह से वर्क करते हैं राइट ये एंट्री पॉइंट क्या होता है तो वो हम सेकंड पार्ट में देखेंगे एंड इसको हम किस तरह से फास्ट कर सकते हैं ठीक है तो ये वाली चीज हम नेक्स्ट वीडियो में देखेंगे एंड आल्सो एक और चीज यहां पर मैंने क्या किया मैंने यहां पर उबुंटू किया राइट एंड उसके ऊपर नट जस को इंस्टॉल किया बट मैं क्या कर सकता था मैं डायरेक्टली यहां पे नट जस वाली इमेज को भी यूज़ कर सकता हूं तो वहां पे मुझे नट जस ऑलरेडी इंस्टॉल मिलेगी एंड मुझे ये सब कुछ करने की जरूरत ही नहीं है ठीक है तो ऑलवेज एंड ऑलवेज ये जो बेस इमेज होती है ये हमें अच्छे से चूज करनी चाहिए ठीक है उ बुं करके मुझे मैनुअली नट जस इंस्टॉल करना पड़ा लेकिन जब हमारे पास ऑलरेडी एक नट जस इमेज अवेलेबल है ठीक है अगर तुम डॉकर हब पे जाते हो एंड तुम यहां पे सर्च करते हो नट जए नट ओके तो तुम डायरेक्टली नट को यूज़ करो तो तुम्हें ये सब कमांड रन करने की जरूरत नहीं पड़ेगी राइट तो फ्रॉम नोड फ्रॉम नोड एंड यह हटा दो तो नोड वाली इमेज के अंदर ऑलरेडी नोड जस इंस्टॉल्ड है तो बहुत बढ़िया तो अभी हमने देख लिया है ट डॉकराइजेशन कैसे कर सकते हैं डॉकर फाइल क्या होता है ठीक है कैशिंग द लेयर्स क्या होता है ठीक है कैशिंग लेयर्स क्या होता है अगर तुम अगर मैं यहां पे वापस रिवर्ट करता हूं ठीक है सब कुछ एंड मैं वापस से ना नोड यहां पर क्या था हमारे पास मेन ड जए था अगर मैं वापस से मेन जए अगर मैं वापस से सेम कमांड को रन करूंगा ना तो तुम नोटिस करना ट क्या होगा ये बहुत जल्दी इस कमांड को एग्जीक्यूट करके खत्म हो जाएगा क्यों बिकॉज ये क्या करता है ना ये कैश करता है ये देखता है दैट कुछ भी चेंज नहीं हुआ तो इसने क्या किया दोबारा से इसको रिबिल्ड किया ही नहीं लेट अस से दैट मैंने क्या किया मैंने ना मेन डज को चेंज कर दिया लेट अस से मैंने बोला कंटेनर v2 मैंने कोड को चेंज कर दिया राइट तो मतलब कि हुआ क्या इस पर्टिकुलर लाइन पे कुछ चेंज हुआ तो अब क्या करेगा जब मैं इसको वापस से रन करूंगा ना तो तो यह यहां तक तो इसके पास कैस्ट है यहां तक तो कुछ भी चेंज नहीं हुआ लेकिन जो यहां से चेंज हुआ तो इसने क्या किया इसने बेसिकली इन तीन लाइनों को फिर से रन किया ठीक है तो इसमें क्या होता है इसमें तुम्हारे पास कैशिंग होती है तो यू हैव टू बी वेरी कॉशस दैट तुम इसको कैसे ऑर्डर कर रहे हो अच्छा अगर मैं इसको लेट्स से ऊपर रखता अगर मैं इसको लेट्स से ऊपर रखता तो पता है क्या होता जब भी मैं अपना कोड चेंज करता ना तो मेरे को वापस से हर बार यह इंस्टॉल करना पड़ता व्हिच इज़ नॉट अ गुड थिंग तो इसलिए हमने क्या किया इसको हमने कैश कर लिया बिकॉज़ मैं चाहता हूं दैट ये एक ही बार हो अगर मेरा कोड चेंज होता है तो हम एनपीएम इंस्टॉल कर रहे हैं आर यू गेटिंग द पॉइंट अगर मैं इन्हीं लाइंस को ऊपर रखता ना तो मेरे डेवलपमेंट में कोई दिक्कत ना आती सब कुछ सही चलता बट ये एक अच्छी चीज नहीं है बिकॉज़ कैशिंग क्या कहती है कि दैट अगर तुमने कभी भी कोड में कुछ चेंज किया तो ये सारी लाइंस भी दोबारा रन करेंगी ठीक है तो जो चीज कॉमन है उसको ऊपर रखो एंड इसको हम रखते हैं नीचे एंड इसको भी अभी हम आगे फर्द अ ऑप्टिमाइज कर सकते हैं ठीक है तो वो हम नेक्स्ट वीडियो के अंदर देखेंगे अगर तुम्हें पता है दैट इसके अंदर हम और क्या ऑप्टिमाइज कर सकते हैं तो तुम कमेंट्स में मुझे बता सकते हो तो बेसिकली यहां पर क्या होता है दैट बिकॉज हमने मेन को चेंज किया तो ये क्या करेगा मेन से लेके नीचे तक का कोड वापस रन करता है तो इसको हम कहते हैं लेयर कैशिंग ठीक है तो इसको लेयर्स कहते हैं दीज आर लेयर्स तो यहां पे तुम देख भी सकते हो दैट ये लेयर्स है राइट तो जब मैंने इसको दोबारा से रन किया यहां तक इसने बोला कैस्ट यहां तक कैस्ट था ये फाइल चेंज हुई तो इसको इसके नीचे से दैट इज नाइंथ लाइन एंड 10थ पार्ट इसको वापस से रन करना पड़ा ठीक है तो इस चीज को हम बोलते हैं लेयर कैशिंग एंड उसके बाद अब हम देख लेते हैं पब्लिशिंग टू हब तो अब अगर मुझे इस इमेज को पब्लिश करना है हब के ऊपर तो वो हम कैसे कर सकते हैं तो सबसे पहले तुम्हें क्या करना है यू हैव टू गो टू hub.com ठीक है जैसे हम गब पे अकाउंट बनाते हैं hub.com एंड यहां पर तुम्हें एक फ्री ऑफ कॉस्ट अकाउंट बना लेना है ठीक है तो ये मेरा एक फ्री अकाउंट है यहां पर हम क्या करेंगे अकाउंट को बनाने के बाद क्रिएट रिपोजिटरी तो मुझे अपनी इमेज का यहां पर नेम देना है तो लेट अस से मेरी इमेज का नेम होगा हान नट जस ठीक है एंड यहां पर मैं बोलूंगा पब्लिक ठीक है एंड यहां पर हम बोलेंगे क्रिएट तो जैसे ही मैं क्रिएट करूंगा यहां पर क्या होगा मेरी इमेज बन गई लेकिन इसके अंदर कुछ भी नहीं है तो अब हम क्या करेंगे सबसे पहले हमें क्या करना है हमें एक इमेज बनानी है इस नाम से हमें एक इमेज बनानी है इस पर्टिकुलर नेम से ठीक है तो इमेज बना लेते हैं तो यहां पे मैं बोलूंगा ऊपर वाली कमांड लेकिन यहां पर मुझे नेम क्या देना है मुझे ये वाला नेम देना है तो मैं बोल रहा हूं यार लोकली एक मशी एक इमेज बनाओ हान t ये इमेज का नेम है जिसमें मेरा यूजर नेम भी है एंड डॉट एंड एंटर अब ये क्या करेगा इस इमेज को बिल्ड करेगा मेरी इमेज बिल्ड हो गई अब अगर तुम वापस आओगे एंड मैं यहां पर रिफ्रेश करता हूं इमेजेस के ऊपर तो व्हाट डू यू सी दैट हमारे पास यहां पर मल्टीपल इमेजेस है अब मैं बस यहां पर अपनी लोकल मशीन के अंदर क्या कर सकता हूं मैं यहां पर सिंपली इसको एक न्यू एक न्यू टर्मिनल ओपन करके आई कैन जस्ट से डॉकर पुश एंड इस इमेज का हम नाम कॉपी कर लेते हैं कॉपी एंड यहां पर हम कर देंगे पेस्ट लेकिन यहां पर हमारे पास एक एरर आ सकता है बिकॉज़ मैं लॉग इन हूं या नहीं लोकली हां तो मैं यहां पे लोकली क्या हूं लॉग इन ही नहीं हूं ठीक है तो हमें यहां पे डॉकर लॉग इन करना है तो डॉकर लॉग इन कर लेते हैं तो डॉकर लॉगइन हमने क्लिक किया तो इसने बोला दैट एक काम करो मुझे अपना यूजर नेम बताओ या फिर तुम क्या कर सकते हो अ लॉग इन विद योर डॉकर आईडी और ईमेल एड्रेस एंड पुल एंड पुश द इमेजेस ठीक है तो यहां पे मुझे मेरा यूजर नेम चाहिए तो अ व्हाट वी कैन डू इज हम वापस चलते हैं एंड मेरा यूजर नेम है पीयूष कर्ग डेव ठीक है तो यहां पे मैं एंटर कर देता हूं दैट इज पीयूष कर्ग डेव एंटर अब ये मुझे बोल रहा है अपना पासवर्ड बताओ तो शायद मुझे मेरा पासवर्ड यहां से मिल जाए ठीक है मुझे मेरा पासवर्ड याद नहीं रहता वैसे तो यहां पर हम एक्सेस टोकन के ऊपर जाते हैं तो एक काम करते हैं मैं यहां पर अपनी सेटिंग्स में जाकर पासवर्ड देख लेता हूं फटाफट मैं अपना पासवर्ड भूल जाता हूं एक्चुअली ठी है तो मुझे मेरा पासवर्ड जो है वो मुझे मिल चुका है पासवर्ड तो फटाफट हम यहां पे पासवर्ड एंटर कर देते हैं ओके एंड एंटर तो जैसे मैं यहां पे एंटर करूंगा तो मोस्ट प्रोबेबली ये मुझे लॉग इन कर देगा राइट तो यहां पर हम कर रहे हैं वेट प्लीज मुझे लॉग इन कर दो लॉग इन सक्सेस अब वापस से ऊपर वाली कमांड रन करते हैं दैट इज डॉकर पुश वाली कमांड ठीक है तो जैसे ही मैं इस डॉकर पुश वाली कमांड को करूंगा एग्जीक्यूट ये क्या करेगा मेरे डॉकर उसमें ये पुश कर देगा तो यू कैन सी दैट ये हमारा वो क्रम है ठीक है तो अभी ये क्या कर र है इसको पुश कर रहा है जो हमने अभी इमेज को बिल्ड किया था उसको हमने बस पुश किया तो ये इसको यहां पर कर देगा पुश तो अब हमें यहां पे करना होगा वेट ठीक है तो इस पर्टिकुलर इमेज के अंदर हमारे पास उं मशीन है राइट एंड उसके अंदर हमारे पास क्या है नोट जस वर्जन 18 इंस्टॉल्ड है हमारा कोड भी जो है वो कॉपी पेस्टेड है राइट तो लेट्स वेट फॉर अ वाइल एंड डन एंड नाउ यू कैन सी दैट अगर मैं यहां पे रिफ्रेश करता हूं तो यहां पर हमारी जो कंटेनर है वो यहां पे पुश हो चुका है अब ये पब्लिक है एंड कोई भी इसको यूज़ कर सकता है ठीक है तो यू कैन सी दैट कोई भी इसको यूज़ कर सकता है कैसे यूज़ करना है डॉकर रन हान आईटी ये हमारी इमेज का नेम एंड एनवायरमेंट वेरिएबल पोर्ट मैपिंग देके इसको तुम भी यूज़ कर सकते हो इट वाज दैट इजी तुम्हें मेरा कोड सेटअप करने की जरूरत नहीं है तुम्हें मेरे से नट जीएस वर्जन पूछने की जरूरत नहीं है तुम्हें किसी भी चीज की जरूरत नहीं है जस्ट इस इमेज को उठाओ कहीं पे भी डिप्लॉयड इसका मजा लो ठीक है तो इस तरह से हमारा जो डॉकर है वो वर्क करता है ठीक है बहुत बढ़िया तो हमने देख लिया दैट हम कंटेनराइज कैसे कर सकते हैं हम पुश कैसे कर सकते हैं अब हम बात करते हैं बहुत ही मेन चीज की जो है डॉकर कंपोज ठीक है तो डॉकर कंपोज क्या होता है जब हम एक्चुअल डेवलपमेंट की बात करते हैं लेट अस से दैट तुमने तुम ओपन सोर्स कंट्रीब्यूटर हो ठीक है लेट अस से तुम ओपन सोर्स ली बहुत कंट्रीब्यूट करते हो एंड फॉर एग्जांपल कोई भी एक एग्जांपल ले लेते हैं c.com की एग्जांपल ले लेते हैं ठीक है अगर तुम c.com में कंट्रीब्यूट कर रहे हो तो यू नो दैट तुम्हें ना लोकली मल्टीपल कंटेनर्स रन करने होंगे यस किस-किस के कंटेनर्स रन करने पड़ सकते हैं तुम्हें एक कंटेनर रन करना पड़ सकता है दैट इज़ ऑफ पोस्ट्रेस ठीक है तुम्हें एक पोस्टस का कंटेनर रन करना है एंड उसमें ना तुम्हें पोर्ट 5432 को एक्सपोज करना है ठीक है उसके बाद लेट अस से car.com रेस भी यूज़ करता है तो तुम्हें रेडस भी यूज़ करना है एंड तुम्हें पोर्ट कौन सा एक्सपोज करना है दैट इज़ 6 लेट्स से 6372 ठीक है तुम्हें एक और कंटेनर रन करना है फिर उन्होंने बोला यार तुम्हें ना एक और कंटेनर रन करना है जिसका नाम है मेल हॉग जिसको तुम्हें जिसको तुम्हें किसी किसी कंटेनर पे जिसको तुम्हें किसी किसी पोर्ट पे एक्सपोज करना है तो यूजुअली होता क्या है जब हम रियल वर्ल्ड डेवलपमेंट की बात करते हैं ठीक है तो हमारे पास ना मल्टीपल कंटेनर्स होते हैं एक कंटेनर हो सकता है पोस्ट क्रेस का एक कंटेनर हो सकता है मंगो डीबी का एक कंटेनर हो सकता है किसी और चीज का उसके अपनी अपनी कॉन्फिन उसके अपने अपने पोर्ट मैपिंग है तो पहला री पहला तरीका तो ये कि यार तुम्हें ना ये कमांड्स कहीं लिखनी पड़ेंगी ठीक है तो तुम क्या कर सकते हो इन कमांड्स को एक-एक लाइन में एग्जीक्यूट कर सकते हो इनको रन कर सकते हो बट वो एक अच्छा तरीका नहीं है राइट फिर से हमारे पास एक प्रॉब्लम आई दैट अगर मल्टीपल कंटेनर्स है तो तुम्हें पूछना पड़ेगा दैट कौन-कौन से कंटेनर्स को रन करना है बट इसका हमारे पास एक सलूशन होता है दैट इज डॉकर कंपोज तो डॉकर कंपोज से हम मल्टीपल कंटेनर्स को सेट अप कर सकते हैं क्रिएट कर सकते हैं एंड डिस्ट्रॉय कर सकते हैं एग्जांपल से समझते हैं ठीक है तो मैं यहां पर क्या कर सकता हूं फॉर एग्जांपल लेट अस से ये जो जो मेरा मेन जए है ये मेरा जो कोड है ना इसको ना पोस्ट कस की भी जरूरत है इसको रेडिस की भी जरूरत है तो मैं यहां पर क्या कर सकता हूं मैं यहां पर एक फाइल बना सकता हूं दैट इज डकर कंपोज हान डवा एए ठीक है डवा एए तो इसके अंदर हम क्या कर सकते हैं अगर हमें मल्टीपल कंटेनर्स यूज करने हैं ना हम इसके अंदर अपनी पूरी कॉन्फिन दे सकते हैं राइट तो कॉन्फिन कैसे फॉर एग्जांपल आई कैन से वर्जन लेट्स से 3.8 ठीक है तो ये मेरे डॉकर कंपोज का वर्जन है अब मैं यहां पे बोल सकता हूं सर्विसेस भाई मुझे ना कुछ सर्विसेस रन करनी है ठीक है कौन-कौन सी सर्विस रन करनी है पहले मैं बोलूंगा दैट मुझे ना एक पोस्टग्रेस सर्विस रन करनी है पोस्टग्रेस अंडर सर्विस मतलब मैं कुछ भी नाम दे सकता हूं पोस्ट क्रेस का कंटेनर ठीक है तो बेसिकली यहां पर तुम कुछ भी एक कॉन्फिन दे सकते हो पोस्ट क्रेस ठीक है इस सर्विस को रन करने के लिए हम यहां पर बोलेंगे इमेज कौन सी इमेज यूज करनी है मुझे ना यहां पर पोस्ट क्रेस यूज करना है ठीक है ये पोस्ट क्रेस कहां से आएगा ये हब ड डकर से आएगा ठीक है अगर मैं यहां पे कमेंट करता हूं तो ये कहां से पुल करेगा हब डॉट docker.com से ठीक है hub.com से जस्ट इन केस तुम देखना चाहते हो तो तुम यहां पे सर्च कर लो पोस्ट क्रेस एंटर तो बेसिकली हम ये वाली इमेज को यूज़ कर रहे हैं ठीक है एंड इसके ऊपर और कॉन्फ़िगरेशन दे देते हैं दैट मुझे क्या करना है मुझे ना इसके अंदर पोर्ट मैपिंग करनी है ठीक है मुझे ना इसका 5432 पोर्ट को ओपन करना है 5432 के ऊपर दैट्ची है एंड लेट्स से मुझे इसके अंदर एनवायरमेंट वेरिएबल भी पास करने हैं मुझे यहां पर एनवायरमेंट वेरिएबल पास करने हैं तो वो मैं यहां से एक मिनट कॉपी पेस्ट कर लेता हूं तो यहां पे ये हमने कर दिए एनवायट वेरिएबल पास यह मेरी हो गई पहली सर्विस मुझे ना एक और सर्विस रन करनी है जिसका नाम है रेडस जिसका नाम क्या है रेडस ठीक है रेडस के लिए मुझे ना एक इमेज चाहिए जिसका नाम होगा रेडस ठीक है और ये रेडस फिर से कहां से आएगी इमेज ये रेडस आएगी hd.com से करेक्ट उसके बाद मुझे क्या चाहिए मुझे यहां पर पोर्ट मैपिंग करना है ठीक है मुझे यहां पर पोर्ट्स को एक्सपोज करना है तो रेडिस के लिए देख लेते हैं पोर्ट मैपिंग कैसे होती है तो यहां पे अगर मैं रेडस सर्च करता हूं तो रेडस तो इसको ये पुल करेगा एंड अगर तुम इसकी डॉक्यूमेंट टेशन पढ़ते हो तो क्या हमें यहां पर पोर्ट दिया है तो यहां पर वैसे यूजुअली 6372 होता है पोर्ट तो यहां पर हमें पोर्ट तो दिया नहीं है तो यहां पे एक काम करते हैं रेडस डिफॉल्ट पोर्ट सर्च करते हैं तो रेडस तो रेडस डिफॉल्ट पोर्ट एंटर तो 6379 या सॉरी सो 6379 होता है तो यहां पे मैं बोल सकता हूं 6379 को एक्सपोज कर दो 6379 के ऊपर तो मैं यहां पर क्या कर सकता हूं मैं यहां पे ना बहुत सारी कॉफिगुड्डा कर कंपोज अप एंटर ये क्या करेगा जितने भी मैंने कॉन्फिडेंस यहां पर दिए है सबको मेरे लिए अप एंड रनिंग कर देगा तो नाउ यू कैन सी दैट ये रेड डेस को पुल कर रहा है एंड ये पोस्ट ग्रेस को पुल कर रहा है राइट बिकॉज़ वो हमारे लोकल मशीन के अंदर नहीं है एंड ये क्या करेगा मेरे लिए दो कंटेनर्स को रन कर देगा जो जो भी मैंने पोर्ट मैपिंग दी है जो जो भी मैंने एनवायरमेंट वेरिएबल दए हैं उनको ये मेरे लिए लोकली सेट अप कर देगा ठीक है तो यहां पर हम थोड़ा सा करने वाले हैं वेट एंड नाउ व्हाट यू कैन सी दैट यहां पर मेरे पास आ गया परमिशन डिनाइड तो अगर तुम्हारे पास ऐसा आता है तो तुम यहां पे सुडो का यूज कर सकते हो तो सुडो डॉकर कंपोज अप एंटर एंड मैं यहां पे अपना पासवर्ड एंटर करूंगा विंडोज में प्रॉब्लम नहीं आएगी अगर एक रेडिस चल रहा है रेडिस वन एंड एक क्या चल रहा है पोस्ट क्रेस वन करेक्ट एंड इसके ऊपर पोर्ट मैपिंग भी है सब कुछ है तो यानी कि एक कमांड से मैंने अपना पूरा इंफ्रास्ट्रक्चर सेटअप कर लिया जैसे ही मैं कंट्रोल c करूंगा ये क्या करेगा इन कंटेनर्स को कर देगा स्टॉप मेरे कंटेनर्स एग्जिट हो गए राइट एंड यहां पर एक और कमांड है दैट इज़ डॉकर कंपोज डॉकर कंपोज डाउन ये क्या करेगा सब कुछ कर देगा रिमूव नाउ यू कैन सी दैट वो सब कुछ चला गया ठीक है एंड यहां पर एक और चीज होती है यू कैन से डॉकर कंपोज कंपोज अप नडी इसका मतलब होता है डिटैचड मोड मतलब कि भाई बैकग्राउंड में रन करो ठीक है वापस से सुडो लगाना होगा डॉकर कंपोज दिस एंड अब ये क्या कर रहा है इसको बैकग्राउंड में रन कर रहा है नाउ यू कैन सी दैट मेरा कंटेनर खाली है एंड बैकग्राउंड में सर्विसेस रन कर रही है राइट अब मेरा एप्लीकेशन इनको यूज कर सकता है जब भी मुझे इसको डाउन करना है तो मैं यहां पे बोलूंगा डॉकर कंपोज डाउन एंटर एंड सब कुछ रिमूव्ड एंड यह सबसे पावरफुल चीज है जो ओपन सोर्स में यूज होती है ओके तो ओपन सोर्स में सबसे ज्यादा कंपोज यूज होता है तो जो भी तुम रिपोजिटरी यूज करते हो उसके अंदर एक डॉकर कंपोज फाइल होगी तुम्हें बस उसको रन करना है एंड वो सारा तुम्हारे लिए सेटअप कर देगा जस्ट इन केस तुम इसको प्रैक्टिकली देखना चाहते हो तो एक काम करते हैं हम हम किसी भी एक डॉकर कंपोज को ले लेते हैं फॉर एग्जांपल c.com का ले लेते हैं ठीक है अगर तुम c.com को देखते हो तो यहां पर फॉर श्यर तुम्हें एक डॉकर कंपोज फाइल दिखेगी तो यहां पर सर्च कर लेते हैं डॉकर अ डॉकर हान कंपोज तो यूजुअली क्या होता है या तो ये रूट पे पड़ी होती है या फिर यहां पर एक फोल्डर होता है डेफ कंटेनर्स का ठीक है तो ये एक बहुत बड़ी रिपोजिटरी है तो इसके अंदर तुम्हें ढूंढना पड़ेगा डॉकर कंपोज तो एक काम करते हैं सर्च करते हैं तो यहां पे मैं सर्च करूंगा डॉकर हान कंपोज एंटर लेट्स सी डॉकर कंपोज हमें कहां मिलता है ओके फॉर सम रीजंस ये सर्च ही नहीं कर रहा है अ आई डोंट एगजैक्टली रिमेंबर दैट वो कहां पर था बट यहां पर हम चेक जरूर कर सकते हैं अ आई थिंक इट वाज इन एप्स ओके इट वाज इन पैकेजेस इफ आई रिमेंबर इट करेक्टली अगर हम पैकेजेस में जाते हैं ठीक है तो इज अ मोनो रिपो एंड अगर हम यहां पर प्रिज्मा में जाते हैं तो फॉर श्यर यहां पर एक डॉकर कंपोज है या तो डॉकर कंपोज को देखें क्या है तो यह डॉकर कंपोज के अंदर वर्जन है सर्विसेस पोस्ट क्रेस पोस्ट क्रेस 13 पोर्ट्स को हमने क्या किया एक्सपोज इसका क्या मतलब है 5450 के ऊपर एक्सपोज किया 5432 को एक्सपोज पोस्ट्रेस ऑन पोर्ट 5450 ठीक है उसके बाद रीस्टार्ट ऑलवेज वॉल्यूम मैपिंग वगैरह की बात हम बाद में करेंगे एनवायरमेंट वेरिएबल दिए हेल्थ चेक दिया उसके बाद हमने देखा पोस्ट क्रस इज रेडी और नॉट चच स ओके एंड इस तरह से हमने क्या किया हमने अपने कंटेनर को अप एंड रनिंग कर लिया अपने सर्विसेस को अप एंड रनिंग कर लिया यूजिंग व्हाट यूजिंग डॉकर कंपोज ठीक है तो डॉकर कंपोज के अंदर हम सर्विसेस पोर्ट मैपिंग एनवायरमेंट वेरिएबल बहुत कुछ कर सकते हैं तो ये तो था एक बेसिक वीडियो डॉकर के ऊपर दैट डॉकर होता क्या है आई होप दैट इस वीडियो में तुम्हें बहुत ज्यादा एक आईडिया लग गया होगा डॉकर कैसे व काम करता है डॉकर किस तरह से रियल वर्ल्ड एप्लीकेशंस में यूज होता है एंड बहुत बेसिक वीडियो था जो पार्ट टू होने वाला है वो थोड़ा सा एडवा ए होने वाला है उसमें हम और एडवांस चीजों के बारे में बात करेंगे एंड अगर तुम्हें डॉगर को इन डेप्थ पढ़ना है तो उस कोर्स का लिंक डिस्क्रिप्शन में है ठीक है तो तुम उसको चेक आउट कर सकते हो उसके अंदर पूरा इन डेप्थ डॉकर उसके अंदर कवर्ड है सो दैट्ची भी कमांड्स थी वो तो मेरे डिस्क्रिप्शन में मिल जाएंगी मिलते हैं हम आपको नेक्स्ट वीडियो के अंदर अंट्या टेक केयर