పోర్ట్‌లను బహిర్గతం చేయడానికి డాకర్‌ఫైల్‌ను ఉపయోగించడం

Using Dockerfile Expose Ports



ఉపయోగించి ఇప్పటికే ఉన్న డాకర్ చిత్రాల నుండి అనుకూల డాకర్ చిత్రాన్ని సృష్టించడం చాలా సులభం డాకర్ఫైల్ . సాధారణంగా ప్రజలు కనీస బేస్ ఇమేజ్‌ను ఉపయోగిస్తారు ఆల్పైన్ లేదా ఉబుంటు/డెబియన్ ఆ ప్రయోజనం కోసం. చెప్పండి, మీరు NodeJS లో వ్రాసిన మీకు ఇష్టమైన వెబ్ యాప్ యొక్క కస్టమ్ డాకర్ ఇమేజ్‌ని సృష్టించాలనుకుంటున్నారు. పోర్ట్‌లో యాప్ రన్ అవుతుంది 8080 . డిఫాల్ట్‌గా, మీరు పోర్ట్‌లోని వెబ్ యాప్‌ని యాక్సెస్ చేయలేరు 8080 మీ హోస్ట్ మెషిన్ నుండి. మీరు పోర్ట్‌ని బహిర్గతం చేయాలని లేదా తెరవాలని డాకర్‌కు చెప్పాల్సి ఉంటుంది 8080 మీ హోస్ట్ మెషిన్ నుండి దీన్ని యాక్సెస్ చేయగలగడం.

ఈ వ్యాసంలో, పోర్టులను ఉపయోగించి ఎలా బహిర్గతం చేయాలో నేను మీకు చూపుతాను డాకర్ఫైల్ నిజమైన ప్రపంచ ఉదాహరణతో. ప్రారంభిద్దాం.







ముందుగా, మేము ప్రాజెక్ట్ డైరెక్టరీని సృష్టించాలి. ఈ డైరెక్టరీలో, మీరు అన్ని ప్రాజెక్ట్ ఫైల్స్ మరియు a ని ఉంచాలి డాకర్ఫైల్ .



ప్రాజెక్ట్ డైరెక్టరీని సృష్టించడానికి కింది ఆదేశాన్ని అమలు చేయండి మయాప్/ మీ వినియోగదారుల హోమ్ డైరెక్టరీలో మరియు దానికి నావిగేట్ చేయండి:



$mkdir/మయాప్&& CD/మయాప్





వెబ్ యాప్ రెడీ అవుతోంది:

ఇప్పుడు డైరెక్టరీని సృష్టించండి src/ లోపల ~/మయాప్/ కింది ఆదేశంతో డైరెక్టరీ:

$mkdirsrc

లో src/ డైరెక్టరీ, నా NodeJS అప్లికేషన్ యొక్క అన్ని సోర్స్ కోడ్ ఉంచబడుతుంది.

నేను కేవలం ఒక సాధారణ సృష్టిస్తాను app.js లో ఫైల్ src/ డైరెక్టరీ మరియు పోర్ట్‌లో ఒక సాధారణ వెబ్ సర్వర్‌ను అమలు చేయండి 8080 కేవలం ప్రదర్శన కోసం.

ది src/app.js ఫైల్ కింది కోడ్‌ల పంక్తులను కలిగి ఉంది:

డాకర్‌ఫైల్ రాయడం మరియు పోర్ట్‌లను బహిర్గతం చేయడం:

ఇప్పుడు a ని సృష్టించండి డాకర్ఫైల్ లో ~/మయాప్ కింది ఆదేశంతో డైరెక్టరీ:

$స్పర్శడాకర్ఫైల్

ఇప్పుడు కింది పంక్తులను టైప్ చేయండి డాకర్ఫైల్ మరియు దానిని సేవ్ చేయండి. ఈ పంక్తుల అర్థం ఏమిటో నేను తరువాత చర్చిస్తాను.

ఇక్కడ, ఆల్పైన్ నుండి: 3.8 అంటే, ఉపయోగించండి ఆల్పైన్: 3.8 దీని నుండి మేము నిర్మించే కొత్త చిత్రానికి బేస్‌గా డాకర్ చిత్రం డాకర్ఫైల్ .

RUN apk అప్‌డేట్ అంటే, అమలు చేయండి apk అప్‌డేట్ బేస్ డాకర్ చిత్రంలో కమాండ్ ఆల్పైన్: 3.8 .

RUN apk యాడ్ -నో-కాష్ నోడ్‌లను జోడించండి అంటే, అమలు చేయండి apk జోడించండి లో NodeJS ప్రోగ్రామింగ్ లాంగ్వేజ్‌ని ఇన్‌స్టాల్ చేయడానికి ఆదేశం ఆల్పైన్: 3.8 డాకర్ బేస్ చిత్రం.

కాపీ ./src /యాప్ అంటే, నుండి అన్ని ఫైల్‌లను కాపీ చేయండి ~/myapp/src కు డైరెక్టరీ /యాప్ మేము ఉపయోగించి నిర్మించే కొత్త డాకర్ చిత్రం డైరెక్టరీ డాకర్ఫైల్ .

CMD [/usr/bin/node, /app/app.js] అంటే, అమలు చేయండి /app/app.js ఉపయోగించి కొత్త కంటైనర్ నుండి ఫైల్ నోడ్ బైనరీ ఉంది /usr/bin/node .

చివరకు, కు ఎక్స్‌పోజ్ 8080/టిసిపి అంటే, TCP పోర్ట్‌ను బహిర్గతం చేయండి లేదా తెరవండి 8080 హోస్ట్ కంప్యూటర్‌కు.

డాకర్‌ఫైల్ ఉపయోగించి కస్టమ్ డాకర్ చిత్రాన్ని సృష్టించడం:

ఇప్పుడు కస్టమ్ డాకర్ ఇమేజ్ చేద్దాం ఆల్పైన్-నోడ్: v1 ఉపయోగించి డాకర్ఫైల్ మేము ఇప్పుడే సృష్టించాము.

ముందుగా మీరు ఉన్నారని నిర్ధారించుకోండి ~/మయాప్/ డైరెక్టరీ ఆపై మీ కస్టమ్ డాకర్ ఇమేజ్‌ను సృష్టించడానికి కింది ఆదేశాన్ని అమలు చేయండి ఆల్పైన్-నోడ్: v1 :

$డాకర్ బిల్డ్-టిఆల్పైన్-నోడ్: v1.

మీరు చూడగలిగినట్లుగా, అనుకూల డాకర్ చిత్రం ఆల్పైన్-నోడ్: v1 సృష్టించబడుతోంది. అవసరమైన బేస్ డాకర్ ఇమేజ్ మరియు ప్యాకేజీలు ఇంటర్నెట్ నుండి తీసివేయబడుతున్నాయి.

మీరు చూడగలిగినట్లుగా, అనుకూల డాకర్ చిత్రం ఆల్పైన్-నోడ్: v1 విజయవంతంగా సృష్టించబడింది.

అనుకూల డాకర్ చిత్రాన్ని పరీక్షిస్తోంది:

ఇప్పుడు మేము అనుకూల డాకర్ చిత్రాన్ని పరీక్షించవచ్చు ఆల్పైన్-నోడ్: v1 చాలా సులభంగా. మనం చేయాల్సిందల్లా ఒక కంటైనర్‌ను సృష్టించడం ఆల్పైన్-నోడ్: v1 చిత్రం

డాకర్ కంటైనర్‌ను సృష్టించడానికి కింది ఆదేశాన్ని అమలు చేయండి www నుండి ఆల్పైన్-నోడ్: v1 డాకర్ చిత్రం:

$డాకర్ రన్-డి -ఇది -పేరుwww ఆల్పైన్-నోడ్: v1

కంటైనర్ www సృష్టించబడింది.

ఇప్పుడు దీని IP చిరునామాను తెలుసుకుందాం www కింది ఆదేశంతో డాకర్ కంటైనర్:

$డాకర్ www| పట్టుచిరునామా

మీరు గమనిస్తే, నా విషయంలో, IP చిరునామా 172.17.0.3 . కాబట్టి నేను రాసిన NodeJS అప్లికేషన్ పోర్ట్‌లోని వెబ్ బ్రౌజర్ నుండి అందుబాటులో ఉండాలి 8080 ఈ IP చిరునామా.

వోయిలా! నేను పోర్టును యాక్సెస్ చేయగలను 8080 నా www డాకర్ కంటైనర్.

ప్రాథమికంగా మీరు ఉపయోగిస్తున్న మీ కస్టమ్ డాకర్ ఇమేజ్‌లలో కొన్ని పోర్ట్‌లను మీరు ఎలా బహిర్గతం చేస్తారు డాకర్ఫైల్ .

డాకర్‌ఫైల్ ఉపయోగించి TCP మరియు UDP పోర్ట్‌లను బహిర్గతం చేయడం:

ఈ ఆర్టికల్ యొక్క మునుపటి విభాగంలో, ఒక ఉపయోగించి TCP పోర్ట్‌ను ఎలా బహిర్గతం చేయాలో నేను మీకు చూపించాను డాకర్ఫైల్ .

మీరు TCP పోర్ట్‌ను సులభంగా బహిర్గతం చేయవచ్చు (TCP పోర్ట్ అనుకుందాం 53 ) మీ లో డాకర్ఫైల్ కింది పంక్తితో:

ఎక్స్పోజ్53/tcp

మీరు UDP పోర్టును కూడా బహిర్గతం చేయవచ్చు (UDP పోర్ట్ అనుకుందాం 53 ) మీలోని కింది లైన్‌తో డాకర్ఫైల్ :

ఎక్స్పోజ్53/udp

మీరు TCP మరియు UDP పోర్ట్‌ను ఒకేసారి మీ కింది లైన్‌లతో బహిర్గతం చేయవచ్చు డాకర్ఫైల్ :

ఎక్స్పోజ్53/tcp
ఎక్స్పోజ్53/udp

ఏ ప్రోటోకాల్ (TCP లేదా UDP) ఉపయోగించాలో మీరు పేర్కొనకపోతే, TCP డిఫాల్ట్‌గా ఉపయోగించబడుతుంది. ఉదాహరణకు, మీరు మీ ఈ క్రింది పంక్తిని వ్రాస్తే డాకర్ఫైల్ :

ఎక్స్పోజ్53

అప్పుడు మీరు TCP పోర్ట్ 53 ని ఉపయోగించాలని డాకర్ అనుకుంటాడు.

డాకర్‌ఫైల్ ఉపయోగించి బహుళ పోర్ట్‌లను బహిర్గతం చేయడం:

మీరు అనుకూల MEAN స్టాక్ డాకర్ చిత్రాన్ని సృష్టించాలనుకుంటున్నారని చెప్పండి. ఈ సందర్భంలో, మీరు కొన్ని పోర్టులో ఒక HTTP సర్వర్‌ని నడుపుతారు (TCP పోర్ట్ 80 లేదా 8080 అనుకుందాం), TCP పోర్ట్ 21 లో పనిచేసే FTP సర్వర్, SQL డేటాబేస్ సర్వర్ (MySQL అనుకుందాం) TCP పోర్ట్ 3306 లో నడుస్తుంది, లేదా NoSQL డేటాబేస్ సర్వర్ (MongoDB అనుకుందాం) TCP పోర్ట్ 27017 లేదా 27018 లో నడుస్తుంది, TCP పోర్ట్ 22 లో నడుస్తున్న SSH సర్వర్. అది చాలా పోర్ట్‌లు!

శుభవార్త ఏమిటంటే; ఉపయోగించి సృష్టించబడిన మీ అనుకూల డాకర్ ఇమేజ్‌లో అవసరమైనన్ని పోర్ట్‌లను మీరు బహిర్గతం చేయవచ్చు డాకర్ఫైల్ .

పై ఉదాహరణలోని పోర్టులు మీలోని కింది పంక్తులతో బహిర్గతమవుతాయి డాకర్ఫైల్ :

ఎక్స్పోజ్80/tcp
ఎక్స్పోజ్8080/tcp
ఎక్స్పోజ్ఇరవై ఒకటి/tcp
ఎక్స్పోజ్22/tcp
ఎక్స్పోజ్3306/tcp
ఎక్స్పోజ్27017/tcp
ఎక్స్పోజ్27018/tcp

మీకు కావాలంటే, మీరు ప్రోటోకాల్ స్పెసిఫికేషన్‌ని వదిలివేయవచ్చు, ఎందుకంటే డాకర్ డిఫాల్ట్‌గా TCP ని ఉపయోగిస్తాడు మరియు మీలోని కింది పంక్తులతో అదే పని చేయవచ్చు డాకర్ఫైల్ :

ఎక్స్పోజ్80
ఎక్స్పోజ్8080
ఎక్స్పోజ్ఇరవై ఒకటి
ఎక్స్పోజ్22
ఎక్స్పోజ్3306
ఎక్స్పోజ్27017
ఎక్స్పోజ్27018

మీకు కావాలంటే, మీరు మీ TCP మరియు UDP పోర్ట్‌లను కలపవచ్చు డాకర్ఫైల్ . ఉదాహరణకు, మీరు DNS సర్వర్‌ని నడుపుతుంటే (UDP పోర్ట్ 53 లో నడుస్తుంది), పై ఉదాహరణతో పాటు, మీరు ఈ క్రింది పంక్తులను జోడిస్తారు డాకర్ఫైల్ .

ఎక్స్పోజ్80
ఎక్స్పోజ్8080
ఎక్స్పోజ్ఇరవై ఒకటి
ఎక్స్పోజ్22
ఎక్స్పోజ్53/udp
ఎక్స్పోజ్3306
ఎక్స్పోజ్27017
ఎక్స్పోజ్27018

కాబట్టి మీరు ఉపయోగించి పోర్టులను ఎలా బహిర్గతం చేస్తారు డాకర్ఫైల్ . గురించి మరింత తెలుసుకోవడానికి డాకర్ఫైల్ మరియు ఉపయోగించి పోర్టులను బహిర్గతం చేయడం డాకర్ఫైల్ , చదవండి డాకర్ఫైల్ వద్ద సూచన గైడ్ https://docs.docker.com/engine/reference/builder/#expose

ఈ కథనాన్ని చదివినందుకు ధన్యవాదాలు.