ServBay में Docker कंटेनर आधारित वेबसाइट जोड़ना और कॉन्फ़िगर करना
ServBay macOS के लिए बनाया गया एक लोकल Web Development Environment है, जिसमें कई भाषाएँ और टेक्नोलॉजी स्टैक सपोर्टेड हैं। ServBay के बिल्ट-इन पैकेज (जैसे PHP, Node.js, Python, Go, Java, डाटाबेस आदि) से वेबसाइट होस्ट करने के अलावा, आप Docker कंटेनर्स का उपयोग करके भी अपनी वेबसाइट या सेवाएँ चला सकते हैं। इस तरह आपके प्रोजेक्ट्स के लिए उच्च लचीलापन, पर्यावरण पृथक्करण तथा स्थिरता मिलती है—खासकर जब आपको विशिष्ट वातावरण या डिपेंडेन्सीज़ की जरूरत हो।
यह लेख ServBay में Docker कंटेनर द्वारा चल रही वेबसाइट जोड़ने और ServBay की रिवर्स प्रॉक्सी क्षमता से इसे लोकल डेवलपमेंट वर्कफ़्लो में इंटीग्रेट करने की पूरी प्रक्रिया विस्तार से बताएगा।
अवलोकन
ServBay को रिवर्स प्रॉक्सी के रूप में कॉन्फ़िगर करके, आप किसी निश्चित डोमेन नेम की रिक्वेस्ट को Docker कंटेनर में चल रही सर्विस पोर्ट तक फॉरवर्ड कर सकते हैं। ServBay ट्रैफिक इंस्पुट (जैसे HTTPS सर्टिफिकेट, डोमेन नेम रेज़ॉल्यूशन आदि) संभालता है, जबकि Docker कंटेनर आपकी एप्लिकेशन रन करने पर केंद्रित रहता है। यह तरीका ServBay के सुविधाजनक इंटरफ़ेस को Docker की शक्तिशाली कंटेनरीकृत क्षमता के साथ जोड़ता है।
नीचे दिये गए स्टेप्स आपको ServBay में Docker सेवा पर आधारित वेबसाइट जोड़ने और कॉन्फ़िगर करने की पूरी प्रक्रिया में मार्गदर्शन देंगे।
आवश्यक शर्तें
शुरू करने से पहले यह सुनिश्चित कर लें कि आपके पास निम्नलिखित चीज़ें हैं:
- ServBay इंस्टॉल और चालू हो: आपने अपने macOS सिस्टम पर ServBay को सफलतापूर्वक इंस्टॉल और शुरू कर लिया है।
- Docker इंस्टॉल और चालू हो: आपके macOS पर Docker Desktop या अन्य Docker माहौल इंस्टॉल्ड है और Docker सेवा सक्रिय है।
- Docker इमेज और कंटेनर तैयार हो: आपने अपनी वेबसाइट या ऐप्लिकेशन की Docker इमेज बना ली है या उसे पुल कर लिया है, और उसे रन करके कंटेनर शुरू कर सकते हैं।
वेबसाइट जोड़ने की स्टेप-बाय-स्टेप प्रक्रिया
स्टेप 1: Docker कंटेनर तैयार करें और चलाएँ
सबसे पहले, यह सुनिश्चित करें कि आपका Docker कंटेनर चल रहा है और उसका आंतरिक सर्वर (जैसे Web Server) Docker की पोर्ट मैपिंग द्वारा आपके macOS (होस्ट मशीन) के किसी उपलब्ध पोर्ट से कनेक्टेड है।
उदाहरण के लिए, यदि आपके पास एक साधारण Nginx कंटेनर है जो 80 पोर्ट पर सुनता है, तो अगला कमांड कंटेनर के 80 पोर्ट को होस्ट के 8080 पोर्ट से मैप करता है:
bash
docker run -d --name my-nginx-servbay -p 8080:80 nginx
1
इस उदाहरण में, Docker कंटेनर my-nginx-servbay
के अंदर Nginx सर्वर 80
पोर्ट पर सुनता है, लेकिन -p 8080:80
का प्रयोग करके हम कंटेनर के 80 पोर्ट को होस्ट के 8080 पोर्ट से मैप कर देते हैं। ServBay को आपके होस्ट के 8080 पोर्ट से कनेक्ट करना होगा।
अपने एप्लिकेशन और Dockerfile कॉन्फ़िगरेशन के अनुसार यह सुनिश्चित करें कि कंटेनर का सर्वर सही पोर्ट पर सुन रहा है और यह पोर्ट होस्ट मशीन पर मैप्ड है।
स्टेप 2: ServBay मैनेजमेंट इंटरफ़ेस खोलें
अपने macOS एप्लिकेशन फ़ोल्डर में 'ServBay' का आइकन ढूंढें और उस पर डबल क्लिक करके ServBay मैनेजमेंट इंटरफ़ेस खोलें।
स्टेप 3: वेबसाइट मैनेजमेंट पेज पर जाएँ
ServBay खुलने के बाद, मुख्य इंटरफ़ेस दिखाई देगा। बायीं साइड नेविगेशन मेनू में 'वेबसाइट' का ऑप्शन चुनें। इससे आप ServBay के वेबसाइट मैनेजमेंट पेज पर आ जाएँगे, जहाँ सभी जोड़ी हुई लोकल वेबसाइट्स को देख व कॉन्फ़िगर कर सकते हैं।
चित्र: बायीं नेविगेशन बार में "वेबसाइट" पर क्लिक करें—प्रबंधन पृष्ठ खोलें।
स्टेप 4: नई वेबसाइट जोड़ें
वेबसाइट प्रबंधन पृष्ठ के नीचे आपको एक +
बटन मिलेगा। इस बटन पर क्लिक करने पर, ServBay दाईं तरफ एक नया फॉर्म खोलेगा, जिसमें आपको नई वेबसाइट का कॉन्फ़िगरेशन भरना है।
चित्र: नीचे दिए "+“ बटन पर क्लिक करें—नई वेबसाइट जोड़ें।
स्टेप 5: वेबसाइट सेटिंग्स कॉन्फ़िगर करें
नए खुले वेबसाइट कॉन्फ़िगरेशन फॉर्म में आपको निम्नलिखित महत्वपूर्ण जानकारी भरनी होगी:
- नाम (Name): अपनी वेबसाइट का कोई आसान-से-पहचान में आने वाला नाम दें, जैसे—
Docker Nginx Demo
। यह नाम केवल ServBay के इंटरनल प्रबंधन के लिए है। - डोमेन (Domain): वह लोकल डोमेन डालें, जिससे आप ब्राउज़र में इस Docker कंटेनर वेबसाइट को एक्सेस करना चाहते हैं।
.servbay.demo
उपसर्ग सुझाया जाता है—जैसेdocker.servbay.demo
। ServBay आपके सिस्टम के hosts फाइल को अपने आप सेट कर देगा जिससे यह डोमेन लोकल127.0.0.1
पर रेजॉल्व हो जाए। - प्रोटोकॉल (Protocol): वेबसाइट के लिए उपयुक्त प्रोटोकॉल चुनें; सामान्यतः डिफ़ॉल्ट HTTP/HTTPS रखें। ServBay HTTP (80) तथा HTTPS (443) दोनों पोर्ट्स सुनता है और SSL सेटिंग्स के अनुसार हैंडल करता है।
- SSL सर्टिफिकेट रिक्वेस्ट मोड (SSL Certificate Request Method):
ServBay CA
चुनने की सलाह दी जाती है। इससे ServBay आपके लिए स्थानीय रूप से विश्वसनीय SSL सर्टिफिकेट जनरेट/मैनेज कर लेगा। अगर आपने ServBay Public CA अपने सिस्टम की की-चेन में जोड़ ली है, तो ब्राउज़र में यह लोकल सर्टिफिकेट विश्वसनीय माने जाएंगे—लोकल HTTPS डेवलेपमेंट/टेस्टिंग हेतु आसान। आप चाहें तोACME
(जैसे Let's Encrypt) याCustom
का भी चयन कर सकते हैं। - वेबसाइट टाइप (Website Type): [महत्वपूर्ण]
रिवर्स प्रॉक्सी (Reverse Proxy)
चुनें—यह बताता है कि ServBay इस डोमेन के लिए ट्रैफिक को आपकी निर्दिष्ट बैकएंड सेवा पर अग्रेषित करेगा। - IP पता (IP Address): Docker कंटेनर सेवा को सुनने वाला होस्ट IP लिखें—लोकल Docker के लिए आमतौर पर
127.0.0.1
। - पोर्ट (Port): Docker कंटेनर का होस्ट पर एक्सपोज्ड पोर्ट—यानी आपने
docker run -p <होस्टपोर्ट>:<कंटेनरपोर्ट>
में जो<होस्टपोर्ट>
डाला हो, वही यहाँ डालें। ऊपर के उदाहरण के लिए—8080।
चित्र: Docker रिवर्स प्रॉक्सी वेबसाइट की कॉन्फ़िगर जानकारी भरें।
स्टेप 6: कॉन्फ़िगरेशन पूरा करें और सेव करें
सभी जरूरी फील्ड्स भरकर फॉर्म के नीचे 'एड (Add)' बटन दबाएँ।
ServBay आगे जरूरी सर्वर (जैसे Caddy या Nginx) कॉन्फ़िगरेशन में रिवर्स प्रॉक्सी रूल्स जोड़ देगा और सिस्टम के hosts फाइल को आपके सेट डोमेन की तरफ अपडेट कर देगा।
सेविंग के बाद, ServBay को सेटिंग्स लागू करने में कुछ पल लग सकते हैं। फिर आप अपना डोमेन विज़िट करने के लिए तैयार हैं।
स्टेप 7: वेबसाइट विज़िट करें और शॉर्टकट ऑपरेशन्स इस्तेमाल करें
कॉन्फ़िगरेशन सेव होते ही, वेबसाइट मैनेजमेंट पेज पर जाकर देखें कि नई जोड़ी गई वेबसाइट लिस्ट में और रनिंग स्टेटस में है या नहीं।
अब आप अपने ब्राउज़र में निर्धारित डोमेन (जैसे http://docker.servbay.demo
या https://docker.servbay.demo
) खोल सकते हैं। अगर सबकुछ सही कॉन्फ़िगर हुआ, तो ServBay आपके अनुरोध को Docker कंटेनर सेवा तक अग्रेषित कर देगा और ब्राउज़र में कंटेनर से वेबसाइट सामग्री दिखेगी।
इसके अलावा वेबसाइट लिस्ट में कई सुविधाजनक शॉर्टकट बटन होते हैं, जैसे कि:
- IDE में वेबसाइट रूट खोलें: (रिवर्स प्रॉक्सी टाइप वेबसाइट पर यह फिलहाल या तो अनुपलब्ध रहेगा, या ServBay की कॉन्फ़िगरेशन डाइरेक्ट्री खोलेगा—ServBay वर्शन/कॉन्फ़िगरेशन पर निर्भर)
- ब्राउज़र में वेबसाइट खोलें: फटाफट नए टैब में वेबसाइट खोलें।
- वेबसाइट लॉग्स देखें: वेबसाइट के लिए ServBay द्वारा रिकॉर्ड किए गए एक्सेस/एरर लॉग्स देख सकते हैं—डिबगिंग के लिए उपयोगी।
- वेबसाइट पॉज़/सक्षम करें: वेबसाइट की ServBay रिवर्स प्रॉक्सी सेटिंग्ज अस्थायी रूप से बंद/चालू कर सकते हैं।
- वेबसाइट हटाएँ: ServBay से वेबसाइट की कॉन्फ़िगरेशन डिलीट करें।
चित्र: ServBay वेबसाइट लिस्ट में उपलब्ध सुविधाजनक शॉर्टकट बटन।
नोट्स और श्रेष्ठ प्रथाएँ
- Docker कंटेनर स्टेटस: यह सुनिश्चत करें कि आपका Docker कंटेनर लगातार रनिंग हो, नहीं तो ServBay आपके अनुरोध को फॉरवर्ड नहीं कर पाएगा।
- पोर्ट मैपिंग: Docker के पोर्ट मैपिंग (
-p
पैमिटर) और ServBay कॉन्फ़िगरेशन में दिया गया पोर्ट एक जैसा हो—साथ ही होस्ट पोर्ट किसी अन्य प्रोग्राम से व्यस्त न हो। - फायरवॉल: macOS फायरवॉल सेटिंग्ज में ये देखें कि ServBay द्वारा इस्तेमाल किए गए पोर्ट (आम तौर पर 80, 443) और Docker के होस्ट पोर्ट ब्लॉक न हों।
- Docker नेटवर्क मोड: सामान्यतः डिफ़ॉल्ट
bridge
नेटवर्क मोड का उपयोग करें और-p
से पोर्ट मैपिंग करें। यदि आपhost
नेटवर्क मोड इस्तेमाल करते हैं, तो ServBay सीधे कंटेनर के आंतरिक पोर्ट से कनेक्ट कर सकता है (यदि कंटेनर 80 पर सुनता है तो वही भरें)—परhost
मोड में पोर्ट क्लैश की संभावना रहती है। - ServBay CA: लोकल HTTPS डेवलेपमेंट के लिए ServBay Public CA इंस्टॉल करना जरूरी है, ताकि ServBay के जेनरेट किए सर्टिफिकेट ब्राउज़र में विश्वसनीय रहें और सिक्योरिटी वार्निंग से बचा जा सके।
अक्सर पूछे जाने वाले सवाल (FAQ)
प्र. वेबसाइट जोड़ने के बाद एक्सेस नहीं होती, ब्राउज़र कनेक्शन एरर या टाइमआउट दिखाता है?
उत्तर: निम्नलिखित बिंदुओं की जाँच करें—
- ServBay वेबसाइट स्टेटस जांचें: ServBay वेबसाइट मैनेजमेंट में देखें कि वेबसाइट 'रनिंग' है।
- Docker कंटेनर स्टेटस जांचें: टर्मिनल में
docker ps
चलाएँ—सुनिश्चित करें कि Target Docker कंटेनर चल रहा है। - Docker पोर्ट मैपिंग देखें:
docker ps
चलाकर कंटेनर के पोर्ट्स देखें (PORTS कॉलम)—देखें कि होस्ट पोर्ट (जैसे0.0.0.0:8080->80/tcp
या127.0.0.1:8080->80/tcp
) वही है जो आपने ServBay में सेट किया है। - Docker कंटेनर की अंदरूनी सेवा देखें: कंटेनर के Web Server (Nginx, Apache, Node आदि) सही पोर्ट पर चल रहे हैं व कोई इंटरनल एरर तो नहीं। लॉग्स के लिए—
docker logs <कंटेनरID या नाम>
। - ServBay लॉग्स जांचें: वेबसाइट लिस्ट में लॉग्स आइकन पर क्लिक करके ServBay के एक्सेस और एरर लॉग्स देखें—फॉरवर्डिंग एरर का डिटेल मिल सकता है।
- सिस्टम hosts फाइल देखें: सामान्यतः ServBay खुद सेटिंग्स अपडेट करता है, लेकिन
/etc/hosts
फाइल में अपने डोमेन की एंट्री127.0.0.1
के साथ चेक कर सकते हैं। - फायरवॉल जांचें: ServBay के पोर्ट या Docker के होस्ट पोर्ट फायरवॉल द्वारा ब्लॉक तो नहीं हैं।
प्र. क्या मैं ServBay से Docker कंटेनर का प्रबंधन कर सकता हूँ?
उत्तर: ServBay का काम है लोकल Web सेवाएँ, डाटाबेस, प्रोग्रामिंग एनवायरनमेंट मैनेज करना और ट्रैफिक को बैकएंड (Docker कंटेनर सहित) फॉरवर्ड करना। ServBay खुद Docker कंटेनर के Start/Stop/Build आदि का पूर्ण प्रबंधन नहीं करता—इसके लिए Docker CLI या Docker Desktop UI का उपयोग करें।
प्र. ServBay CA क्या है? इसे इंस्टॉल करना क्यों जरूरी है?
उत्तर: ServBay CA (Certificate Authority) दरअसल लोकल HTTPS डेवलपमेंट के लिए एक Certificate मैनेजमेंट सिस्टम है। ServBay User CA आपके लोकल वेबसाइट्स के लिए SSL सर्टिफिकेट जेनरेट करता है, जबकि ServBay Public CA उसका रूट सर्टिफिकेट है। अपने सिस्टम की Keychain में ServBay Public CA जोड़ने के बाद, OS व ब्राउज़र सभी लोकल ServBay-issued सर्टिफिकेट्स को 'trusted' मानेंगे—इससे लोकल HTTPS वेबसाइट्स एक्सेस करते वक्त 'नॉट सिक्योर' वार्निंग नहीं आएगी। यह लोकल HTTPS डेवलेपमेंट एवं प्रोडक्शन जैसे टेस्टिंग के लिए बहुत उपयोगी है।
निष्कर्ष
ServBay में Docker कंटेनर पर आधारित वेबसाइट जोड़ना एक तेज़, सुविधाजनक और लचीला तरीका है—इससे ServBay लोकल डेवलेपमेंट का केंद्र बन जाता है और आपके प्रोजेक्ट्स के ट्रैफिक व डोमेन मैनेज करता है, जबकि Docker एप्लिकेशन को अलगाव और पोर्टेबिलिटी देता है। सिंपल रिवर्स प्रॉक्सी सेटअप की मदद से आप अपने सभी तरह के Docker प्रोजेक्ट्स को ServBay वर्कफ़्लो में शामिल कर सकते हैं। ऊपर बताई गई प्रक्रिया और सलाहों का पालन करें, आप अपने Dockerized वेबसाइट को आसानी से सेटअप व रन कर सकेंगे।