Docker Compose एक शक्तिशाली और लोकप्रिय उपकरण है जिसका उपयोग अनुप्रयोगों के प्रबंधन और तैनाती के लिए किया जाता है Docker । Docker यह आपको एक ही प्रोजेक्ट के रूप में कई कंटेनरों को परिभाषित करने, कॉन्फ़िगर करने और चलाने की अनुमति देता है, एप्लिकेशन परिनियोजन को सरल बनाता है और विकास और उत्पादन वातावरण के बीच स्थिरता सुनिश्चित करता है।
नीचे कुछ अवधारणाएँ और उदाहरण दिए गए हैं Docker Compose:
Docker-compose.yml फ़ाइल का उपयोग करके प्रोजेक्ट को परिभाषित करें
फ़ाइल में docker-compose.yml, आप अपने एप्लिकेशन के लिए आवश्यक सेवाओं को परिभाषित कर सकते हैं। उदाहरण के लिए, MySQL डेटाबेस के साथ PHP वेब एप्लिकेशन को तैनात करने के लिए, आप दो सेवाओं को निम्नानुसार परिभाषित कर सकते हैं:
version: "3"
services:
web:
image: php:7.4-apache
ports:
- "80:80"
volumes:
- ./app:/var/www/html
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: my_database
उपरोक्त कोड स्निपेट में, हम दो सेवाओं को परिभाषित करते हैं: web और db । सेवा web PHP 7.4 का उपयोग करेगी image, Apache पोर्ट 80 पर सुनेगी, और ./app होस्ट से निर्देशिका को /var/www/html निर्देशिका में माउंट करेगी container । सेवा db MySQL 5.7 का उपयोग करेगी image और डेटाबेस के लिए आवश्यक कुछ पर्यावरण चर सेट करेगी।
Docker Compose कमांड का उपयोग करना
एक बार जब आप फ़ाइल में प्रोजेक्ट को परिभाषित कर लेते हैं docker-compose.yml, तो आप Docker Compose सेवाओं को प्रबंधित करने के लिए कमांड का उपयोग कर सकते हैं।
-
प्रोजेक्ट प्रारंभ करें:
docker-compose updocker-compose.ymlयह कमांड फ़ाइल में परिभाषित सेवाओं के लिए कंटेनर शुरू करेगा । -
कंटेनरों को रोकें और हटाएँ:
docker-compose downयह कमांड प्रोजेक्ट से संबंधित सभी कंटेनरों को रोकता है और हटा देता है।
-
चल रहे कंटेनरों की सूची बनाएं:
docker-compose psयह कमांड प्रोजेक्ट में कंटेनरों की स्थिति प्रदर्शित करेगा।
-
सेवा लॉग देखें:
docker-compose logsयह कमांड प्रोजेक्ट में सेवाओं के लॉग दिखाता है।
पर्यावरण चर और अनुकूलन
Docker Compose आपको विकास और उत्पादन जैसे विभिन्न परिवेशों के लिए कॉन्फ़िगरेशन को अनुकूलित करने के लिए पर्यावरण चर का उपयोग करने की अनुमति देता है। आप docker-compose.yml फ़ाइल में पर्यावरण चर का उपयोग कर सकते हैं और संबंधित .env फ़ाइलों में उनके मान परिभाषित कर सकते हैं।
उदाहरण के लिए, यदि आप सेवा के पोर्ट के लिए एक पर्यावरण चर परिभाषित करना चाहते हैं web, तो आप .env फ़ाइल में इस तरह एक पंक्ति जोड़ सकते हैं:
WEB_PORT=8080
फिर, docker-compose.yml फ़ाइल में, आप इस पर्यावरण चर का उपयोग इस प्रकार कर सकते हैं:
version: "3"
services:
web:
image: php:7.4-apache
ports:
- "${WEB_PORT}:80"
volumes:
- ./app:/var/www/html
कमांड चलाते समय docker-compose up, web सेवा पोर्ट 80 के बजाय पोर्ट 8080 पर सुनेगी।
Docker स्वाम के साथ एकीकरण
यदि आप अपने एप्लिकेशन को एकाधिक नोड्स के साथ वितरित वातावरण पर तैनात करना चाहते हैं, तो Docker Compose इसके साथ एकीकृत कर सकते हैं Docker Swarm । यह आपको एक Docker क्लस्टर में एकाधिक नोड्स में सेवाओं का प्रबंधन करने की अनुमति देता है।
इस एकीकरण का उपयोग करने के लिए, आपको किसी परिवेश में या कमांड चलाते समय केवल --orchestrate या विकल्प जोड़ने की आवश्यकता है। --with-registry-auth docker stack deploy docker-compose up Swarm
Docker Compose आसान और कुशल अनुप्रयोग विकास, परीक्षण और तैनाती के लिए एक उपयोगी उपकरण है। यह विकास और उत्पादन वातावरण के बीच अंतर को कम करता है, सॉफ्टवेयर विकास प्रक्रिया में स्थिरता सुनिश्चित करता है और विकास टीमों की उत्पादकता को बढ़ाता है।

