డాకర్ కంపోజ్ అనేది మీరు వేర్వేరు డాకర్ కంటైనర్ల విస్తరణలను కేంద్రంగా నిర్వహించడానికి ఉపయోగించే ఒక సాధనం. బహుళ మైక్రోసర్వీసెస్ అవసరమయ్యే ఏదైనా అనువర్తనానికి ఇది ఒక ముఖ్యమైన సాధనం, ఎందుకంటే ఇది ప్రతి సేవను విడిగా నిర్వహించే కంటైనర్లో సులభంగా ఉంచడానికి అనుమతిస్తుంది.
డాకర్ కంపోజ్ ఏమి చేస్తుంది?
వివిక్త వాతావరణంలో అనువర్తనాలను అమలు చేయడానికి డాకర్ కంటైనర్లు ఉపయోగించబడతాయి. ఈ రోజుల్లో డాకర్లో అప్లికేషన్ డిప్లాయ్మెంట్లు అనేక ప్రయోజనాల కోసం నడుస్తున్నట్లు చూడటం చాలా సాధారణం. అయినప్పటికీ, ఒకే కంటైనర్ను నడపడం అంత సులభం కాదు. మీరు సాధారణంగా అనేక కంటైనర్లను కలిగి ఉండవచ్చు, అవి అనేక కదిలే భాగాలతో కూడిన సమైక్య సేవగా ఉపయోగపడతాయి.
విస్తరణ సమయంలో ఈ మూలకాలన్నింటినీ నిర్వహించడం గమ్మత్తైనది, కాబట్టి దాన్ని శుభ్రం చేయడానికి, డాకర్ డాకర్ కంపోజ్ను అందిస్తుంది, ఒకే సమయంలో బహుళ కంటైనర్లను అమలు చేయడానికి ఉపయోగించే కాన్ఫిగరేషన్ సాధనం. మీరు అన్ని ఆకృతీకరణలను YAML ఫైల్లో నిర్వచించవచ్చు, ఆపై అన్ని కంటైనర్లను ఒకే ఆదేశంతో ప్రారంభించండి.
మీ అన్ని సేవలను ఒక పెద్ద కంటైనర్లో ఉంచడానికి బదులుగా, డాకర్ కంపోజ్ వాటిని వ్యక్తిగతంగా నిర్వహించదగిన కంటైనర్లుగా విభజించడానికి మిమ్మల్ని అనుమతిస్తుంది. రచన మరియు పంపిణీ రెండింటికీ ఇది మంచిది, ఎందుకంటే మీరు అవన్నీ ప్రత్యేక కోడ్బేస్లలో నిర్వహించవచ్చు మరియు మీరు ప్రతి ఒక్క కంటైనర్ను మాన్యువల్గా ప్రారంభించాల్సిన అవసరం లేదు.
డాకర్ కంపోజ్ ఉపయోగించడం మూడు-దశల ప్రక్రియ:
- వారి డాకర్ఫైల్స్ ఉపయోగించి భాగం చిత్రాలను సృష్టించండి లేదా వాటిని రిజిస్ట్రీ నుండి సేకరించండి.
- అన్ని ఫైల్ సేవలను ఒకే ఫైల్లో నిర్వచించండి
docker-compose.yml
ఫైల్. - వాటిని ఉపయోగించి అన్నింటినీ కలిసి అమలు చేయండి
docker-compose
CLI.
డాకర్ కంపోజ్ డాకర్ ఫైల్ యొక్క మరొక రకం కాదు. మీరు ఇంకా డాకర్ఫైల్ను ఉపయోగించి డాకర్ కంటైనర్లను సృష్టించాలి మరియు ప్రచురించాలి. కానీ, వాటిని నేరుగా అమలు చేయడానికి బదులుగా, మీరు బహుళ-కంటైనర్ విస్తరణ యొక్క కాన్ఫిగరేషన్ను నిర్వహించడానికి డాకర్ కంపోజ్ను ఉపయోగించవచ్చు.
మీరు డాకర్ కంపోజ్ ఎలా ఉపయోగిస్తున్నారు?
డాకర్ కూర్పు ఫైల్ కోసం కాన్ఫిగరేషన్ పూర్తయింది docker-compose.yml
. దీనిని ప్రాజెక్ట్ యొక్క మూలంలో డాకర్ఫైల్గా ఉంచడం అవసరం లేదు. వాస్తవానికి, ఇది వేరే కోడ్పై ఆధారపడనందున ఇది ఎక్కడికీ వెళ్ళవచ్చు. అయితే, మీరు చిత్రాలను స్థానికంగా నిర్మిస్తుంటే, మీరు నిర్మాణంలో ఉన్న కోడ్తో ప్రాజెక్ట్ ఫోల్డర్కు వెళ్లాలి.
కంపోజ్ కాన్ఫిగరేషన్ ఫైల్ ఇలా కనిపిస్తుంది. ఈ సెటప్ ఉపయోగించి ఒక WordPress ఉదాహరణను నడుపుతుంది wordpress
డాకర్ హబ్ నుండి కంటైనర్. అయితే, ఇది కంపోజ్ చేత సృష్టించబడిన MySQL డేటాబేస్ మీద ఆధారపడి ఉంటుంది.
version: '3' services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: rootpasswordchangeme MYSQL_DATABASE: wordpress MYSQL_USER: usernamechangeme MYSQL_PASSWORD: passwordchangeme wordpress: depends_on: - db image: wordpress:latest ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: usernamechangeme WORDPRESS_DB_PASSWORD: passwordchangeme volumes: db_data:
ఈ ఫైల్ యొక్క ఆకృతిని పరిశీలిద్దాం. మొదట, సంస్కరణ సంఖ్య, మీరు ఉపయోగిస్తున్న సంస్కరణను బట్టి వాక్యనిర్మాణం మారవచ్చు.
తరువాత సేవల జాబితా. మొదటిదాన్ని “db” అని పిలుస్తారు మరియు పొడిగింపును ఉపయోగిస్తుంది mysql:5.7
కంటైనర్, యూజర్ మరియు పాస్వర్డ్తో డేటాబేస్ను కాన్ఫిగర్ చేయడానికి ఎల్లప్పుడూ పున art ప్రారంభించడానికి మరియు ఎన్విరాన్మెంట్ వేరియబుల్స్తో సెట్ చేయబడింది. రీబూట్ల సమయంలో డేటాను నిలుపుకోవటానికి, ఈ చిత్రం MySQL డేటా డైరెక్టరీలో అమర్చబడిన డాకర్ వాల్యూమ్తో కాన్ఫిగర్ చేయబడింది.
ఇతర సేవ “WordPress”, ఇది డేటాబేస్ సేవపై ఆధారపడి ఉంటుంది, డాకర్ నడుస్తున్న ముందు డేటాబేస్ ప్రారంభించబడిందని నిర్ధారిస్తుంది. ఇది పోర్ట్ 80 ను పోర్ట్ 8000 గా బహిర్గతం చేస్తుంది మరియు కొన్ని ఎన్విరాన్మెంట్ వేరియబుల్స్ ను సెట్ చేస్తుంది కాబట్టి ఇది MySQL కి కనెక్ట్ అవుతుంది. డేటాబేస్ హోస్ట్ సెట్ చేయబడిందని గమనించండి db:3306
, ఇది “db” సేవకు కనెక్ట్ చేయమని WordPress కంటైనర్ను నిర్దేశిస్తుంది.
చివరగా, నిరంతర నిల్వ కోసం వాల్యూమ్లు నిర్వచించబడతాయి. ఐచ్ఛికంగా, మీరు కంటైనర్ల కోసం అనుకూల వలలను కూడా నిర్వచించవచ్చు. మీరు కాన్ఫిగర్ చేయగల విస్తరించిన ఎంపికలు చాలా ఉన్నాయి, కాబట్టి మీరు నిర్దిష్టమైనదాన్ని చేయాలనుకుంటే, మీరు డాకర్ కంపోజ్ కోసం డాక్యుమెంటేషన్ను తనిఖీ చేయాలి.
కాన్ఫిగర్ చేసిన తర్వాత, ఈ సేవను ప్రారంభించడం సులభం. ఇప్పుడే రన్ చేయండి docker-compose up
, ఇది అవసరమైన అన్ని కంటైనర్లను సంగ్రహిస్తుంది మరియు మీ సేవలను ప్రారంభిస్తుంది.
docker-compose up -d
మరియు సిస్టమ్లో నడుస్తున్న సేవలను మీరు చూడాలి docker ps
. ఈ సందర్భంలో, మీరు WordPress పైకి మరియు సరిగ్గా నడుస్తున్నట్లు చూస్తారు.
డాకర్ కంపోజ్తో భవనం
డాకర్ కంపోజ్ను డాకర్ఫైల్ ప్రాజెక్ట్లో కూడా ఉపయోగించవచ్చు మరియు డాకర్ హబ్ నుండి సంగ్రహించకుండా స్థానికంగా చిత్రాన్ని నిర్మించడానికి మరియు అమలు చేయడానికి కాన్ఫిగర్ చేయవచ్చు.
దీన్ని చేయడానికి, మీరు ఫైల్ను జోడించాలి build
సేవపై విభాగం. మీరు వేర్వేరు సందర్భ డైరెక్టరీలను, అలాగే విభిన్న చిత్రాల కోసం వేర్వేరు డాకర్ ఫైళ్ళను సెటప్ చేయవచ్చు.
version: "3.8" services: webapp: build: context: ./dir dockerfile: Dockerfile-alternate image: imagename:tag
ఈ సందర్భంలో, ది image:
వేరియబుల్ కూడా సెట్ చేయబడింది, కానీ ఇక్కడ డాకర్ కంపోజ్ సృష్టించిన చిత్రాన్ని గుర్తించడానికి ఇది ఉపయోగించబడుతుంది.