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ని ఉపయోగిస్తుంది, పోర్ట్ 80లో వినండి మరియు డైరెక్టరీని హోస్ట్ నుండి డైరెక్టరీలోకి మౌంట్ చేస్తుంది. సేవ MySQL 5.7ని ఉపయోగిస్తుంది మరియు డేటాబేస్ కోసం అవసరమైన కొన్ని ఎన్విరాన్మెంట్ వేరియబుల్స్ సెట్ చేస్తుంది. image Apache ./app
/var/www/html
container db
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 సులభమైన మరియు సమర్థవంతమైన అప్లికేషన్ అభివృద్ధి, పరీక్ష మరియు విస్తరణ కోసం ఉపయోగకరమైన సాధనం. ఇది అభివృద్ధి మరియు ఉత్పత్తి పరిసరాల మధ్య వ్యత్యాసాలను తగ్గిస్తుంది, సాఫ్ట్వేర్ అభివృద్ధి ప్రక్రియలో స్థిరత్వాన్ని నిర్ధారిస్తుంది మరియు అభివృద్ధి బృందాల ఉత్పాదకతను పెంచుతుంది.