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