Docker Compose जनरेटर
दृश्य संपादक से docker-compose.yml फ़ाइलें बनाएँ
सर्विस सर्विस: 0
संस्करण 3.5-3.9 पुराने उपयोगकर्ताओं के लिए version फ़ील्ड बनाए रखते हैं। मौजूदा Docker Compose, Compose Specification का उपयोग करता है।
सर्विस टेम्पलेट जल्दी जोड़ें
अभी तक कोई सर्विस नहीं जोड़ी गई। कोई टेम्पलेट चुनें या खाली सर्विस जोड़ें।
पूरा कॉन्फ़िगरेशन इसी डिवाइस पर रहता है। संपादन के साथ YAML अपडेट होती रहती है।
जनरेट की गई docker-compose.yml
Docker Compose जनरेटर के बारे में
यह Docker Compose जनरेटर एक मुफ़्त ऑनलाइन टूल है, जो डेवलपरों को YAML सिंटैक्स हाथ से लिखे बिना विज़ुअल तरीके से docker-compose.yml फ़ाइलें बनाने में मदद करता है। चाहे आप लोकल डेवलपमेंट एनवायरनमेंट सेट कर रहे हों या कई सेवाओं वाला प्रोडक्शन स्टैक कॉन्फ़िगर कर रहे हों, यह जनरेटर तैयार टेम्पलेट और सेवाओं, पोर्ट, वॉल्यूम व एनवायरनमेंट वेरिएबल के लिए सहज विज़ुअल एडिटर देकर प्रक्रिया आसान बनाता है।
Docker Compose कई कंटेनर वाले Docker एप्लिकेशन को परिभाषित करने और चलाने का टूल है। एक ही YAML कॉन्फ़िगरेशन फ़ाइल से आप डेटाबेस, कैश, वेब सर्वर और एप्लिकेशन सेवाओं को साथ में ऑर्केस्ट्रेट कर सकते हैं। हमारा जनरेटर सिंटैक्स की गलतियाँ दूर करता है और कॉन्फ़िगरेशन की प्रक्रिया तेज़ करता है, ताकि आप इंडेंटेशन की समस्याएँ ठीक करने के बजाय अपना एप्लिकेशन बनाने पर ध्यान दे सकें।
यह टूल PostgreSQL, MySQL, Redis, MongoDB, Nginx और Node.js जैसे लोकप्रिय सेवा टेम्पलेट सपोर्ट करता है। आप शुरू से पूरी तरह कस्टम सेवाएँ भी बना सकते हैं, depends_on से सेवाओं की निर्भरताएँ तय कर सकते हैं, कस्टम नेटवर्क सेट कर सकते हैं और 3.5 से 3.9 तक के कई Docker Compose संस्करणों में से चुन सकते हैं।
मुख्य सुविधाएँ
- PostgreSQL, MySQL, Redis, MongoDB, Nginx और Node.js सेवाओं के तैयार टेम्पलेट
- पोर्ट, एनवायरनमेंट वेरिएबल और वॉल्यूम माउंट कॉन्फ़िगर करने के लिए विज़ुअल एडिटर
- depends_on निर्देशों के साथ सेवा निर्भरता प्रबंधन
- ब्रिज ड्राइवर के स्वचालित सेटअप के साथ कस्टम नेटवर्क कॉन्फ़िगरेशन
- नामित वॉल्यूम की स्वचालित पहचान और घोषणा
- always, unless-stopped और on-failure समेत कई रीस्टार्ट नीति विकल्प
- संस्करण 3.5 से 3.9 तक सपोर्ट करने वाला Docker Compose संस्करण चयनकर्ता
- एक क्लिक में क्लिपबोर्ड पर कॉपी करें या docker-compose.yml फ़ाइल के रूप में डाउनलोड करें
- सेवाएँ कॉन्फ़िगर करते ही अपडेट होने वाला रीयल-टाइम YAML प्रीव्यू
- खाली टेम्पलेट के साथ असीमित कस्टम सेवाएँ जोड़ने का सपोर्ट
Docker Compose जनरेटर का उपयोग कैसे करें
- टेम्पलेट चुनें: पहले से कॉन्फ़िगर की हुई सेवा जोड़ने के लिए क्विक-ऐड बटनों (PostgreSQL, MySQL, Redis, MongoDB, Nginx या Node.js) में से किसी पर क्लिक करें, या शुरू से बनाने के लिए "खाली सेवा" पर क्लिक करें।
- सेवा कॉन्फ़िगर करें: सेवा कार्ड खोलें और सेवा का नाम, Docker इमेज, कंटेनर का नाम, पोर्ट, एनवायरनमेंट वेरिएबल, वॉल्यूम और रीस्टार्ट नीति बदलें।
- निर्भरताएँ सेट करें: एक से अधिक सेवाएँ होने पर सेवाओं के बीच शुरू होने का क्रम तय करने के लिए "निर्भर है" चेकबॉक्स का उपयोग करें।
- नेटवर्क जोड़ें: सेवाओं को अलग-थलग Docker नेटवर्क में समूहित करने के लिए नेटवर्क के नाम अल्पविराम से अलग करके दर्ज करें।
- प्रीव्यू देखें और निर्यात करें: लाइव प्रीव्यू पैनल में बना हुआ YAML जाँचें, फिर उसे क्लिपबोर्ड पर कॉपी करें या docker-compose.yml के रूप में डाउनलोड करें।
- अपना स्टैक डिप्लॉय करें: फ़ाइल को अपने प्रोजेक्ट के रूट में रखें और सभी सेवाएँ शुरू करने के लिए docker compose up -d चलाएँ।
उपयोग के मामले
- लोकल डेवलपमेंट एनवायरनमेंट: हर निर्भरता को हाथ से इंस्टॉल करने के बजाय एक ही कमांड से डेटाबेस, कैश और सेवाएँ शुरू करें।
- माइक्रोसर्विस आर्किटेक्चर: सही नेटवर्किंग और निर्भरता प्रबंधन के साथ आपस में जुड़ी कई सेवाओं को परिभाषित और ऑर्केस्ट्रेट करें।
- CI/CD पाइपलाइन: स्वचालित बिल्ड पाइपलाइन में इंटीग्रेशन टेस्ट चलाने के लिए एकसमान docker-compose फ़ाइलें बनाएँ।
- प्रोटोटाइप और डेमो: डेमो के लिए बैकएंड सेवाओं, डेटाबेस और रिवर्स प्रॉक्सी वाले फ़ुल-स्टैक एप्लिकेशन जल्दी से सेट करें।
- टीम ऑनबोर्डिंग: मानकीकृत docker-compose.yml साझा करें, ताकि नए डेवलपर कुछ ही मिनटों में अपना एनवायरनमेंट सेट कर सकें।
- डेटाबेस प्रबंधन: लोकल डेटा स्टोरेज के लिए स्थायी वॉल्यूम के साथ PostgreSQL, MySQL, MongoDB या Redis इंस्टेंस कॉन्फ़िगर करें।
- रिवर्स प्रॉक्सी सेटअप: सही पोर्ट मैपिंग के साथ अपनी एप्लिकेशन सेवाओं के आगे Nginx को रिवर्स प्रॉक्सी के रूप में कॉन्फ़िगर करें।
- Docker सीखना: इंटरैक्टिव विज़ुअल इंटरफ़ेस से Docker Compose के सिंटैक्स और कॉन्फ़िगरेशन के साथ प्रयोग करें।
अक्सर पूछे जाने वाले प्रश्न
क्या यह टूल मुफ़्त है?
हाँ, Docker Compose जनरेटर का उपयोग पूरी तरह मुफ़्त है। उपयोग की कोई सीमा नहीं है, साइन-अप की ज़रूरत नहीं है और कोई प्रीमियम सुविधा पेवॉल के पीछे बंद नहीं है।
क्या मेरा डेटा सुरक्षित है?
बिल्कुल। सारा कॉन्फ़िगरेशन पूरी तरह आपके ब्राउज़र में बनता है। कोई डेटा किसी सर्वर को नहीं भेजा जाता और कुछ भी सहेजा या लॉग नहीं किया जाता। आपकी सेवाओं के नाम, एनवायरनमेंट वेरिएबल और अन्य सेटिंग पूरी तरह निजी रहती हैं।
मुझे कौन सा Docker Compose संस्करण इस्तेमाल करना चाहिए?
आधुनिक Docker Compose, Compose Specification का पालन करता है और शीर्ष-स्तर के version फ़ील्ड को अनदेखा करता है। नए Compose प्रोजेक्ट के लिए बिना version वाला मौजूदा फ़ॉर्मेट इस्तेमाल करें, और जब किसी पुराने उपभोक्ता के लिए निर्यात कर रहे हों जिसे यह फ़ील्ड चाहिए, तब 3.5-3.9 चुनें।
क्या मैं टेम्पलेट में न मौजूद कस्टम सेवाएँ जोड़ सकता हूँ?
हाँ। खाली सेवा बनाने के लिए "खाली सेवा" बटन पर क्लिक करें, फिर Docker Hub या अपनी निजी रजिस्ट्री में उपलब्ध किसी भी Docker इमेज के लिए इमेज का नाम, पोर्ट, एनवायरनमेंट वेरिएबल और अन्य कॉन्फ़िगरेशन विकल्प हाथ से दर्ज करें।
नामित वॉल्यूम और बाइंड माउंट में क्या अंतर है?
नामित वॉल्यूम (जैसे postgres_data) Docker द्वारा प्रबंधित होते हैं और कंटेनर रीस्टार्ट होने पर भी डेटा बनाए रखते हैं। बाइंड माउंट (जो ./ या / से शुरू होते हैं) होस्ट की किसी खास डायरेक्टरी को कंटेनर में मैप करते हैं। डेटाबेस स्टोरेज के लिए नामित वॉल्यूम की सलाह दी जाती है, जबकि डेवलपमेंट के दौरान सोर्स कोड साझा करने के लिए बाइंड माउंट उपयोगी हैं।
संवेदनशील एनवायरनमेंट वेरिएबल को कैसे संभालें?
प्रोडक्शन में अपनी docker-compose.yml में सीक्रेट सीधे लिखने से बचें। इसके बजाय अपनी compose फ़ाइल के साथ .env फ़ाइल इस्तेमाल करें, या स्वार्म डिप्लॉयमेंट के लिए Docker secrets का उपयोग करें। बनी हुई फ़ाइल एक शुरुआती आधार है, जिसे आपको सीक्रेट के सही प्रबंधन के साथ अपने अनुसार ढालना चाहिए।
सुझाव और सर्वोत्तम तरीके
- डेटाबेस के लिए नामित वॉल्यूम इस्तेमाल करें: नामित वॉल्यूम कंटेनर दोबारा बनाने पर भी डेटा बनाए रखते हैं, जिससे कंटेनर फिर से बनाते समय डेटा नहीं खोता।
- इमेज के संस्करण तय रखें: दोहराए जा सकने वाले बिल्ड के लिए latest के बजाय हमेशा सटीक इमेज टैग (जैसे postgres:16-alpine) लिखें।
- depends_on का लाभ उठाएँ: सेवा निर्भरताएँ तय करें ताकि कंटेनर सही क्रम में शुरू हों, और असली तैयारी की पुष्टि के लिए हेल्थचेक भी जोड़ें।
- सीक्रेट .env फ़ाइलों में रखें: पासवर्ड और API कुंजियों जैसे संवेदनशील मान .env फ़ाइल में रखें और गलती से कमिट होने से बचाने के लिए उसे अपनी .gitignore में जोड़ें।
- कस्टम नेटवर्क इस्तेमाल करें: बेहतर सुरक्षा के लिए और सेवाओं के बीच अनचाहे संचार को रोकने के लिए सेवाओं के समूहों को अलग-अलग नेटवर्क में रखें।
- सही रीस्टार्ट नीति चुनें: जो सेवाएँ होस्ट रीबूट के बाद भी चलती रहनी चाहिए उनके लिए "unless-stopped" और जो सिर्फ़ क्रैश के बाद दोबारा शुरू होनी चाहिए उनके लिए "on-failure" इस्तेमाल करें।