विंडोमैकसॉफ्टवेयरसेटिंग्ससुरक्षाउत्पादकतालिनक्सएंड्रॉइडप्रदर्शनकॉन्फ़िगरेशनएप्पल सभी

लिनक्स पर डॉकर कंपोज का उपयोग कैसे करें

संपादित 5 महीने पहले द्वारा ExtremeHow संपादकीय टीम

डॉकरकंटेनरएप्लिकेशन परिनियोजनडॉकर कंपोजआर्केस्ट्रेशनकॉन्फ़िगरेशनस्क्रिप्टिंगदेवऑप्सकमांड लाइनबहु-कंटेनर

लिनक्स पर डॉकर कंपोज का उपयोग कैसे करें

अनुवाद अपडेट किया गया 5 महीने पहले

डॉकर कंपोज एक उपकरण है जिसका उपयोग मल्टी-कंटेनर डॉकर अनुप्रयोगों को परिभाषित और चलाने के लिए किया जाता है। डॉकर कंपोज के साथ, आप अपने एप्लिकेशन की सेवाओं को कॉन्फ़िगर करने के लिए एक YAML फ़ाइल का उपयोग कर सकते हैं और फिर आप एक आदेश का उपयोग करके अपनी कॉन्फ़िगरेशन से सभी सेवाओं को बना और शुरू कर सकते हैं। यह कई लिंक्ड सेवाओं वाले जटिल अनुप्रयोगों के साथ काम करने के लिए बेहद उपयोगी है। इस गाइड का उद्देश्य लिनक्स पर डॉकर कंपोज का उपयोग करने को बहुत विस्तृत तरीके से समझाना है।

डॉकर और डॉकर कंपोज को समझना

डॉकर कंपोज में प्रवेश करने से पहले, यह समझना महत्वपूर्ण है कि डॉकर क्या है। डॉकर एक प्लेटफ़ॉर्म है जो डेवलपर्स और सिस्टम प्रशासकों को एप्लिकेशन को कंटेनरों में पैकेज करने की अनुमति देता है — यह मानकीकृत निष्पादन योग्य घटक होते हैं जो एप्लिकेशन के स्रोत कोड को ऑपरेटिंग सिस्टम लाइब्रेरीज़ और निर्भरताओं के साथ मिलाते हैं जो किसी भी पर्यावरण में उस कोड को चलाने के लिए आवश्यक होती हैं।

डॉकर कंपोज इसे एक कदम आगे ले जाता है, जिससे आप कई डॉकर कंटेनरों को एक ही सेवा के रूप में कॉन्फ़िगर और शुरू कर सकते हैं। इसका अर्थ है कि आप अपने एप्लिकेशन की सभी निर्भरताओं को एक सरल फाइल docker-compose.yml का उपयोग करके प्रबंधित कर सकते हैं। इस फ़ाइल में यह जानकारी होती है कि किस छवि को चलाना है, किस पोर्ट्स को एक्सपोज़ करना है, वॉल्यूम मैपिंग्स और अधिक।

लिनक्स पर डॉकर और डॉकर कंपोज सेट करना

डॉकर कंपोज का उपयोग करने का पहला कदम यह है कि आपके लिनक्स मशीन पर डॉकर स्थापित और चल रहा हो। अधिकांश आधुनिक लिनक्स वितरणों में डॉकर उनके आधिकारिक रिपॉजिटरीज़ में होता है, लेकिन आप नवीनतम संस्करण प्राप्त करने के लिए इसे डॉकर के आधिकारिक रिपॉजिटरी से भी इंस्टॉल कर सकते हैं।

# एचटीटीपीएस पर एक रिपॉजिटरी का उपयोग करने के लिए एपीटी पैकेज सूचकांक को अपडेट करें और पैकेजों को इंस्टॉल करें
sudo apt-get update -y
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common -y

# डॉकर की आधिकारिक जीपीजी कुंजी जोड़ें और सत्यापित करें
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# स्थिर रिपॉजिटरी सेट करें
sudo add-apt-repository \
"deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

# डॉकर सीई इंस्टॉल करें
sudo apt-get update -y
sudo apt-get install docker-ce docker-ce-cli containerd.io -y

# डॉकर स्थापना की सत्यापन करें
sudo docker run hello-world

एक बार जब डॉकर स्थापित हो जाए, तो अगला कदम डॉकर कंपोज को इंस्टॉल करना होता है। डॉकर के विपरीत, कंपोज एक अलग उपकरण है। आप डॉकर कंपोज को GitHub रिलीज़ पेज से डाउनलोड कर सकते हैं।

# डॉकर कंपोज का वर्तमान स्थिर रिलीज़ डाउनलोड करें
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# बाइनरी पर निष्पादन योग्य अनुमतियाँ लागू करें
sudo chmod +x /usr/local/bin/docker-compose

# यह सुनिश्चित करें कि डॉकर कंपोज सही तरीके से इंस्टॉल हुआ है
docker-compose --version

docker-compose.yml फ़ाइल को समझना

docker-compose.yml फ़ाइल डॉकर कंपोज का मुख्य भाग है। यहाँ आप अपनी सभी सेवाओं (मूल रूप से, आपके एप्लिकेशन के कंटेनर) को और उनके एक-दूसरे के साथ अंतःक्रियाओं को परिभाषित करते हैं। docker-compose.yml फ़ाइल की संरचना काफी सीधी होती है। यह आम तौर पर कंपोज के संस्करण का परिभाषित करके शुरू होती है जिसका उपयोग किया जा रहा है, इसके बाद सेवाओं की सूची आती है।

यहाँ एक बुनियादी docker-compose.yml फ़ाइल का उदाहरण है:

version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"
database:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: example

उपरोक्त उदाहरण में, कंपोज फ़ाइल संस्करण 3.8 का उपयोग कर रही है। यह दो सेवाओं को परिभाषित करती है, web और databaseweb सेवा Nginx छवि का उपयोग करती है और कंटेनर के पोर्ट 80 को होस्ट के पोर्ट 80 पर मैप करती है। database सेवा MySQL छवि का उपयोग करती है और निर्दिष्ट मूल पासवर्ड का उपयोग करती है।

डॉकर कंपोज के साथ एप्लिकेशन चलाना

एक बार जब आप अपने docker-compose.yml फ़ाइल को कॉन्फ़िगर कर लें, तो आपका मल्टी-सेवा एप्लिकेशन एक सरल कमांड से चल सकता है। उस निर्देशिका में नेविगेट करें जिसमें docker-compose.yml फाइल है और चलाएं:

docker-compose up

docker-compose up कमांड वर्तमान निर्देशिका में docker-compose.yml फ़ाइल की खोज करता है, आवश्यक छवियों को बनाता है यदि वे स्थानीय रूप से उपलब्ध नहीं हैं, और निर्दिष्ट सेवाओं को शुरू करता है।

यदि आप एप्लिकेशन को बैकग्राउंड में (अलग मोड में) चलाना चाहते हैं, तो आप -d विकल्प का उपयोग कर सकते हैं:

docker-compose up -d

अपने डॉकर कंपोज वातावरण को प्रबंधित करना

डॉकर कंपोज कई कमांड प्रदान करता है जो आपके वातावरण को प्रबंधित करने में मदद करते हैं:

  1. docker-compose ps: कंपोज फ़ाइल में परिभाषित सेवाओं की स्थिति को प्रदर्शित करता है।
  2. docker-compose start: सेवा के लिए एक मौजूदा कंटेनर शुरू करता है।
  3. docker-compose stop: कंटेनरों को चलने से रोकता है, बिना उन्हें हटाए।
  4. docker-compose down: docker-compose.yml फ़ाइल में परिभाषित सभी कंटेनरों को रोकता और हटाता है।
  5. docker-compose logs: सेवा के लिए लॉग को प्राप्त करता है।

डॉकर कंपोज में वॉल्यूम्स और नेटवर्क्स का उपयोग करना

डॉकर कंपोज आपको अपनी docker-compose.yml फ़ाइल में वॉल्यूम्स और नेटवर्क्स को परिभाषित करने की भी अनुमति देता है। वॉल्यूम डेटा को सुरक्षित रखने के लिए उपयोग किए जाते हैं और नेटवर्क्स सेवाओं के बीच संचार में मदद करते हैं।

एक वॉल्यूम को परिभाषित करने के लिए, सेवाओं अनुभाग के अंतर्गत निम्नलिखित जोड़ें:

services:
database:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql

volumes:
db_data:

यह विन्यास एक नामित वॉल्यूम db_data बनाता है और इसे डेटाबेस सेवा कंटेनर के अंदर /var/lib/mysql पर माउंट करता है, जो MySQL डेटा संग्रहीत करता है।

नेटवर्क को भी कस्टमाइज़ किया जा सकता है:

services:
frontend:
image: node:14
networks:
- frontend-network
backend:
image: node:14
networks:
- backend-network

networks:
frontend-network:
backend-network:

डॉकर कंपोज के साथ सेवाओं का स्केलिंग करना

डॉकर कंपोज की एक शक्तिशाली विशेषता सेवाओं का स्केलिंग करने की क्षमता है। यह विकास परिवेश में अधिक यथार्थवादी परिस्थितियों का अनुकरण करने के लिए विशेष रूप से उपयोगी है। आप --scale विकल्प के साथ एक सेवा को स्केल कर सकते हैं।

docker-compose up --scale web=3

ऊपर का कमांड web सेवा की तीन इंस्टेंस शुरू करेगा।

कंटेनरों के अंदर कमांड निष्पादित करना

आप docker-compose exec का उपयोग कर अपनी चल रही सेवाओं के अंदर मनमानी कमांड चला सकते हैं:

docker-compose exec web bash

यह कमांड चल रहे web सेवा कंटेनर के अंदर एक bash शेल खोलता है।

डॉकर कंपोज को एक ही नेटवर्क से जोड़ना

डिफ़ॉल्ट रूप से, डॉकर कंपोज आपके सेवाओं के लिए एक डिफ़ॉल्ट नेटवर्क बनाता है। हालांकि, आप सभी सेवाओं को एक ही नेटवर्क से जोड़ सकते हैं ताकि सेवाएं स्वतंत्र रूप से संचार कर सकें।

version: '3.8'
services:
web:
image: nginx:latest
networks:
- custom-network
database:
image: mysql:5.7
networks:
- custom-network

networks:
custom-network:

web और database सेवाएं दोनों custom-network से जुड़ी होती हैं, जिससे वे स्वतंत्र रूप से संचार कर सकती हैं।

निष्कर्ष

डॉकर कंपोज एक मजबूत उपकरण है जो मल्टी-कंटेनर डॉकर अनुप्रयोगों के प्रबंधन की प्रक्रिया को सरल करता है। docker-compose.yml फ़ाइल में सेवाओं को परिभाषित करके, आप जल्दी से अपने एप्लिकेशन के स्टैक को लागू और प्रबंधित कर सकते हैं। डॉकर कंपोज का प्रभावी उपयोग करने की कुंजी यह है कि docker-compose.yml फ़ाइल के कॉन्फ़िगरेशन विकल्पों को समझें, जिनमें सेवाएं, वॉल्यूम्स और नेटवर्क्स शामिल हैं।

यह व्यापक गाइड दर्शाता है कि लिनक्स पर डॉकर और डॉकर कंपोज कैसे सेट करें, एक कंपोज फ़ाइल कैसे बनाएं, और अपने एप्लिकेशन को कैसे प्रबंधित करें। इस ज्ञान के साथ, आप जटिल लिनक्स आधारित वातावरणों को संभालने के लिए डॉकर कंपोज का प्रभावी रूप से उपयोग करने में सक्षम होंगे। अपने स्वयं के अनुप्रयोगों के साथ अभ्यास करें ताकि डॉकर कंपोज कॉन्फ़िगरेशन को अनुकूलित करने के लिए और अधिक परिचित और विशेष आवश्यकताओं को पूरा करने के लिए अधिक सक्षम हो सकें।

यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं


टिप्पणियाँ