Skip to main content
CheckTown
डेव टूल

Docker Run से Compose: कमांड को YAML में बदलें

प्रकाशित 5 मिनट का पठन
इस लेख में

docker run को Docker Compose में क्यों बदलें

Docker कंटेनर अक्सर डेवलपमेंट के दौरान त्वरित docker run कमांड के रूप में शुरू होते हैं। आप यहाँ एक flag आज़माते हैं, वहाँ एक volume जोड़ते हैं, और जल्द ही आपकी कमांड दर्जनों विकल्पों के साथ कई लाइनों में फैल जाती है। ये लंबी कमांड पढ़ने में कठिन, ग़लत टाइप होने में आसान, और ठीक से वर्ज़न-कंट्रोल करना असंभव होती हैं। Docker Compose इसे हल करता है — यह उसी कॉन्फ़िगरेशन को एक संरचित YAML फ़ाइल में व्यक्त करता है जो पढ़ने योग्य, पुनरुत्पादनीय, और आपकी टीम के साथ साझा करने में आसान होती है।

docker run से Compose फ़ाइल में बदलने से बहु-कंटेनर ऑर्केस्ट्रेशन भी संभव हो जाता है। एक बार जब आपकी सेवाएँ compose फ़ाइल में परिभाषित हो जाती हैं, तो आप पूरे एप्लिकेशन स्टैक को एक ही कमांड से शुरू कर सकते हैं, सेवाओं के बीच निर्भरताएँ परिभाषित कर सकते हैं, नेटवर्किंग स्वतः कॉन्फ़िगर कर सकते हैं, और volumes को घोषणात्मक रूप से प्रबंधित कर सकते हैं। स्थानीय डेवलपमेंट वातावरण और सरल प्रोडक्शन डिप्लॉयमेंट को परिभाषित करने का यह मानक तरीका है।

Docker Run to Compose कन्वर्टर का उपयोग कैसे करें

CheckTown का कन्वर्टर आपकी docker run कमांड को पार्स करके तुरंत एक मान्य docker-compose.yml फ़ाइल जनरेट कर देता है।

  • अपनी docker run कमांड को इनपुट फ़ील्ड में पेस्ट करें -- यह टूल बैकस्लैश निरंतरता वाली एकल-लाइन या बहु-लाइन कमांड स्वीकार करता है
  • कन्वर्टर तुरंत सभी flags को पार्स करता है, जिनमें ports, volumes, environment variables, restart policies, networks और बहुत कुछ शामिल है
  • जनरेट किए गए YAML आउटपुट की समीक्षा करें -- आपकी मूल कमांड का हर flag संबंधित Compose key से मैप हो जाता है
  • परिणाम को कॉपी करें और अपने प्रोजेक्ट रूट में docker-compose.yml के रूप में सहेजें, फिर docker compose up चलाएँ

निःशुल्क आज़माएँ — कोई साइनअप आवश्यक नहीं

docker run को Compose में बदलें →

Docker Compose फ़ाइलों के लिए बेहतरीन तरीके

एक सुव्यवस्थित Compose फ़ाइल आपके इंफ्रास्ट्रक्चर को पारदर्शी और अनुरक्षणीय बनाती है। अपने कॉन्फ़िगरेशन को साफ़ रखने के लिए इन दिशानिर्देशों का पालन करें।

  • latest का उपयोग करने के बजाय image tags को हमेशा विशिष्ट संस्करणों पर पिन करें -- इससे विभिन्न वातावरणों में पुनरुत्पादनीय बिल्ड सुनिश्चित होते हैं
  • जहाँ संभव हो, bind mounts के बजाय स्थायी डेटा के लिए named volumes का उपयोग करें -- named volumes को Docker प्रबंधित करता है और ये विभिन्न होस्ट पर पोर्टेबल होते हैं
  • एक restart policy (जैसे unless-stopped या on-failure) परिभाषित करें ताकि क्रैश या होस्ट रीबूट के बाद आपके कंटेनर स्वतः पुनः चालू हो जाएँ

अक्सर पूछे जाने वाले प्रश्न

क्या कन्वर्टर सभी docker run flags का समर्थन करता है?

कन्वर्टर सबसे आम उपयोग होने वाले flags संभालता है, जिनमें port mappings (-p), volumes (-v), environment variables (-e), restart policies, network mode, कंटेनर के नाम, working directory, entrypoint, command ओवरराइड, labels और resource limits शामिल हैं। कभी-कभार उपयोग होने वाले या केवल Docker रनटाइम वाले flags को मैन्युअल समायोजन की ज़रूरत पड़ सकती है।

क्या मैं कई docker run कमांड को एक Compose फ़ाइल में बदल सकता हूँ?

हाँ। हर docker run कमांड को अलग-अलग बदलें, फिर services key के तहत सेवा परिभाषाओं को एक ही docker-compose.yml फ़ाइल में जोड़ दें। हर कंटेनर अपनी अलग नामित सेवा बन जाता है, और आप फ़ाइल के शीर्ष स्तर पर साझा networks और volumes परिभाषित कर सकते हैं।

आउटपुट किस Compose फ़ाइल संस्करण का उपयोग करता है?

आउटपुट एक आधुनिक Compose फ़ाइल जनरेट करता है जो Docker Compose V2 के साथ संगत है। version key को छोड़ दिया जाता है क्योंकि Docker Compose V2 को अब इसकी ज़रूरत नहीं है -- विनिर्देश का स्वतः अनुमान लगा लिया जाता है। यह Docker Desktop और स्टैंडअलोन docker compose CLI इंस्टॉलेशन के साथ काम करता है।

संबंधित टूल