Kas ir portu kartēšana programmā Docker?

Kas Ir Portu Kartesana Programma Docker



Docker ir plaši pazīstama atvērtā koda platforma, ko bieži izmanto, lai izveidotu, koplietotu un palaistu programmatūru un lietojumprogrammas. Tas izmanto dažādus komponentus, lai izpildītu projektus konteineros, piemēram, Docker attēlus, Docker dzinēju vai dēmonu un Docker klientu. Tomēr, lai piekļūtu konteinera iekšējam procesam, ir nepieciešama ostas kartēšana.

Šajā rakstā tiks apspriests:







Kas ir Docker portu kartēšana?

Izpildot pakalpojumus vai lietojumprogrammas konteinerā, lietotāji parasti vēlas piekļūt lietotnei vai pakalpojumiem ārpasaulei, nevis konteinera iekšienē. Lai piekļūtu konteinera procesiem vai pakalpojumiem no ārpuses, programmā Docker tiek izmantots ostas kartēšanas process. Portu kartēšana ir process, kas izveido ugunsmūra kārtulu, kas kartē konteinera atvērto portu ar Docker saimniekdatora atvērto portu, caur kuru no resursdatora sistēmas ir pieejamas izpildošās lietojumprogrammas vai pakalpojumi.



Kā kartēt ostu programmā Docker?

Lai kartētu portu programmā Docker, porta publicēšanai resursdatorā tiek izmantotas divas opcijas; ' –publicēt” vai “-lpp ”. Lai kartētu portu programmā Docker, izpildiet sniegtos norādījumus.



1. darbība: izveidojiet Dockerfile

Vispirms izveidojiet Dockerfile, kas izpildīs vienkāršu HTML programmu ' index.html ”. Zemāk esošajā kodā:





  • ' NO Taustiņš tiek izmantots, lai definētu konteinera pamata attēlu.
  • ' KOPĒT ' paziņojums tiek izmantots, lai kopētu ' index.html ” failu uz konteinera ceļu.
  • ' IEEJAS PUNKTS ” apraksta Docker konteineru izpildāmos failus:
NO nginx: jaunākais
KOPĒJOT index1.html /usr/share/nginx/html/index.html
ENTRYPOINT ['nginx', '-g', 'daemon off;']

2. darbība. Izveidojiet attēlu programmā Docker

Pēc tam izveidojiet jaunu attēlu, izmantojot minēto komandu:

docker build -t html .



3. darbība. Izveidojiet un kartējiet konteineru resursdatorā

Pēc tam izveidojiet un kartējiet konteineru resursdatorā, izmantojot “ dokera skrējiens ” komandu. Šeit “ -lpp 'iespēja faktiski tiek izmantota, lai kartētu konteineru vietējā resursdatora portā' 80 ”:

docker palaist -p 80:80 --name html-cont html

Pēc tam uzskaitiet visus konteinerus un pārbaudiet, vai osta ir kartēta vai nav:

docker ps -a

4. darbība. Verifikācija

Pēc tam pārbaudiet, vai “ index.html Programma, kas tiek izpildīta konteinerā, ir pieejama resursdatorā vai nē. Šim nolūkam dodieties uz ' http://localhost:80 ” URL pārlūkprogrammā:

Kā kartēt portu programmā Docker Compose?

Lai kartētu portu programmā Docker Compose un piekļūtu rakstīšanas pakalpojumiem ārpus Docker konteinera, veiciet norādītās darbības.

1. darbība. Izveidojiet failu “docker-compose.yml”.

Vispirms izveidojiet ' docker-compose.yml ” failu un ielīmējiet šādus norādījumus:

  • ' pakalpojumus ” taustiņš definē sastādīšanas pakalpojumu. Piemēram, “ tīmeklī ” pakalpojums ir izveidots:
  • ' būvēt ” atslēga tiek izmantota, lai piekļūtu veidošanas kontekstam. Tālāk esošajā kodā ' . ” nozīmē, ka mēs izmantojam Dockerfile, kas ir ievietots pašlaik atvērtajā direktorijā.
  • ' ostas ” taustiņš tiek īpaši izmantots, lai kartētu portu. Tas nosaka ostu, kurā konteiners atklās:
versija: '3'
pakalpojumi:
tīmeklis:
būvēt: .
porti:
-80:80

2. darbība. Izpildiet Compose Service

Pēc tam izpildiet ' dokeris-komponēt ” komanda, lai aktivizētu pakalpojumus kartēšanas portā un konteinera iekšpusē:

docker-compose up -d

No izvades varat redzēt, ka esam piekļuvuši ' tīmeklī ”pakalpojumi ārpus resursdatora konteinera:

Tas viss attiecas uz portu kartēšanu programmā Docker.

Secinājums

Portu kartēšana ir ugunsmūra kārtulas izveides process, kas savieno konteinera portu ar Docker resursdatora atvērto portu, caur kuru no resursdatora sistēmas ir pieejamas izpildošās lietojumprogrammas vai pakalpojumi. Lai kartē Docker portu, ' -p” vai “–publicēt ' opcija tiek izmantota sadaļā ' dokera skrējiens ” komandu. Rakstīšanas failā “ ostas ” taustiņu izmanto, lai kartētu portu. Šī ziņa ir parādījusi, kāda ir portu kartēšana programmā Docker un kā kartēt portu.