डेवलपर / Docker
docker run से Docker Compose कन्वर्टर
docker run कमांड को पोर्ट, वॉल्यूम, environment, नेटवर्क, रीस्टार्ट नीति, हेल्थ चेक, GPU और अन्य विकल्पों सहित compose.yaml फ़ाइल में बदलें, या Compose सर्विस को वापस docker run में बदलें; जिन विकल्पों का समकक्ष नहीं है, वे सूचीबद्ध किए जाते हैं।
docker run से Docker Compose कन्वर्टर: कमांड को उसी तरह विभाजित किया जाता है जैसे शेल करता है, जिसमें quotes और escapes शामिल हैं, और हर विकल्प को उसकी Compose key से जोड़ा जाता है: -p को ports, -v और --mount को volumes, -e को environment, --restart को restart, --network को network, --health-cmd को healthcheck, --gpus को device reservation और लगभग चालीस अन्य विकल्पों से। नामित वॉल्यूम और नेटवर्क के लिए शीर्ष-स्तरीय प्रविष्टियाँ जोड़ी जाती हैं। कई कमांड एक ही फ़ाइल में कई services बन जाती हैं। जिन विकल्पों का Compose में कोई समकक्ष नहीं है, उन्हें बिना बताए हटाने के बजाय सूचीबद्ध किया जाता है। यह आपके ब्राउज़र में 100% स्थानीय रूप से चलता है और सर्वर पर कोई फ़ाइल अपलोड नहीं होती।
- श्रेणी
- डेवलपर टूल्स
- रन
- आपके ब्राउज़र में
- लागत
- मुफ़्त · साइन अप की ज़रूरत नहीं
- उपलब्धता
- इस्तेमाल के लिए तैयार
पूरी तरह आपके ब्राउज़र में चलता है
compose.yaml
services:
db:
image: postgres:16
container_name: db
environment:
- POSTGRES_PASSWORD=change-me
volumes:
- pgdata:/var/lib/postgresql/data
ports:
- 5432:5432
restart: unless-stopped
volumes:
pgdata:
कन्वर्ट करने के बाद
फ़ाइल की जाँच करने और डिफ़ॉल्ट मान भरकर उसे देखने के लिए docker compose config चलाएँ, फिर इसे शुरू करने के लिए docker compose up -d चलाएँ। इमेज के वर्ज़न पिन करें, जैसे latest के बजाय postgres:16, ताकि रीस्टार्ट होने पर डेटाबेस अचानक अपग्रेड न हो जाए।
फ़ाइल को किसी अन्य फ़ॉर्मैट में पढ़ने के लिए इसे YAML से JSON से कन्वर्ट करें; कंटेनर में शेड्यूल किए गए जॉब के लिए Cron Explainer cron एक्सप्रेशन पढ़ता है।
वॉल्यूम और डेटा
pgdata जैसा नाम वाला वॉल्यूम Docker द्वारा प्रबंधित किया जाता है और docker compose down के बाद भी बना रहता है; ./data जैसा पाथ होस्ट पर मौजूद फ़ोल्डर होता है। docker compose down -v से हटाने से पहले नाम वाले वॉल्यूम का बैकअप लें, क्योंकि यह उन्हें डिलीट कर देता है।
इस्तेमाल करने का तरीका
- एक या अधिक docker run कमांड पेस्ट करें; backslash के साथ line continuation भी काम करता है।
- compose.yaml और उन विकल्पों को देखें जिन्हें बदला नहीं जा सका।
- इसे कॉपी या डाउनलोड करें, या दिशा बदलकर Compose फ़ाइल को docker run कमांड में बदलें।
गोपनीयता और सीमाएँ
सब कुछ आपके ब्राउज़र में चलता है; आपके कमांड, जिनमें पासवर्ड हो सकते हैं, अपलोड नहीं किए जाते।
संबंधित टूल्स
अक्सर पूछे जाने वाले सवाल
docker run की जगह Compose का उपयोग क्यों करें?
Compose फ़ाइल पूरी सेटअप को एक जगह दर्ज करती है, जिसे पढ़ा और version control में रखा जा सकता है तथा docker compose up से शुरू किया जा सकता है। इसके बजाय लंबे कमांड shell history में बिखरे रहते हैं। यह आपके नेटवर्क और वॉल्यूम के साथ कई कंटेनर भी एक साथ शुरू करती है।
--rm और -d का क्या होता है?
Compose में --rm नहीं है: कंटेनर docker compose down से हटाए जाते हैं। docker compose up -d चलाने पर -d चुना जाता है, इसलिए यह फ़ाइल का हिस्सा नहीं होता।
नेटवर्क को external क्यों चिह्नित किया जाता है?
docker run --network ऐसे नेटवर्क का उपयोग करता है जो पहले से मौजूद है, इसलिए बदली गई फ़ाइल भी उसी तरह उसका संदर्भ देती है। यदि आप चाहते हैं कि Compose स्वयं नेटवर्क बनाए, तो external: true हटा दें।
क्या मुझे पासवर्ड फ़ाइल में रखने चाहिए?
पासवर्ड और keys के लिए version control से बाहर रखी गई env_file या Docker secrets को प्राथमिकता दें। कन्वर्टर कमांड में मौजूद सामग्री को बनाए रखता है, इसलिए commit करने से पहले environment सेक्शन की समीक्षा करें।
मुफ़्त टूल · आपके ब्राउज़र में बार चलता है · अकाउंट की ज़रूरत नहीं