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  

वरील कोड स्निपेटमध्ये, आम्ही दोन सेवा परिभाषित करतो: 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 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 सुलभ आणि कार्यक्षम ऍप्लिकेशन डेव्हलपमेंट, चाचणी आणि उपयोजन यासाठी हे एक उपयुक्त साधन आहे. हे विकास आणि उत्पादन वातावरणातील फरक कमी करते, सॉफ्टवेअर विकास प्रक्रियेत सातत्य सुनिश्चित करते आणि विकास कार्यसंघांची उत्पादकता वाढवते.