Docker Compose: आधारभूत र प्रयोग

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  

माथिको कोड स्निपेटमा, हामी दुई सेवाहरू परिभाषित गर्छौं: webdb । सेवाले 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 सजिलो र कुशल अनुप्रयोग विकास, परीक्षण, र तैनाती को लागी एक उपयोगी उपकरण हो। यसले विकास र उत्पादन वातावरणहरू बीचको भिन्नतालाई कम गर्छ, सफ्टवेयर विकास प्रक्रियामा स्थिरता सुनिश्चित गर्दछ, र विकास टोलीहरूको उत्पादकता बढाउँछ।