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 साथ प्रयोग गर्नेछ, पोर्ट 80 मा Apache सुन्नुहोस्, र ./app
होस्टबाट डाइरेक्टरी माउन्ट गर्नुहोस् /var/www/html
। container सेवाले db
MySQL 5.7 प्रयोग गर्नेछ image र डाटाबेसका लागि आवश्यक केही वातावरणीय चरहरू सेट गर्नेछ।
Docker Compose आदेश प्रयोग गर्दै
एकचोटि तपाईंले फाइलमा परियोजना परिभाषित गरेपछि docker-compose.yml
, तपाईंले Docker Compose सेवाहरू व्यवस्थापन गर्न आदेशहरू प्रयोग गर्न सक्नुहुन्छ।
-
परियोजना सुरु गर्नुहोस्:
docker-compose up
यो आदेशले फाइलमा परिभाषित सेवाहरूको लागि कन्टेनरहरू सुरु गर्नेछ
docker-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 सजिलो र कुशल अनुप्रयोग विकास, परीक्षण, र तैनाती को लागी एक उपयोगी उपकरण हो। यसले विकास र उत्पादन वातावरणहरू बीचको भिन्नतालाई कम गर्छ, सफ्टवेयर विकास प्रक्रियामा स्थिरता सुनिश्चित गर्दछ, र विकास टोलीहरूको उत्पादकता बढाउँछ।