Vad är Port Mapping i Docker?

Vad Ar Port Mapping I Docker



Docker är en välkänd och öppen källkodsplattform som ofta används för att skapa, dela och köra mjukvara och applikationer. Den använder olika komponenter för att köra projekten inuti behållarna som Docker-avbildningar, Docker-motorn eller demonen och Docker-klienten. Men för att komma åt containerns inre process krävs portmappning.

Det här inlägget kommer att diskutera:







Vad är Docker Port Mapping?

När de kör tjänsterna eller applikationerna inuti behållaren vill användare vanligtvis komma åt appen eller tjänsterna till omvärlden snarare än inuti behållaren. För att komma åt containerns processer eller tjänster utifrån används portkartläggningsprocessen i Docker. Portmappning är en process som skapar brandväggsregeln som mappar containerns öppna port till den öppna porten på Docker-värden genom vilken de exekverande applikationerna eller tjänsterna är tillgängliga från värdsystemet.



Hur kartlägger man en hamn i Docker?

För att mappa en port i Docker används två alternativ för att publicera porten på värden; ' –publicera” eller ”-s ”. För att kartlägga en port i Docker, följ instruktionerna.



Steg 1: Skapa Dockerfile

Skapa först Dockerfilen som kommer att köra det enkla HTML-programmet ' index.html ”. I koden nedan:





  • ' FRÅN ”-tangenten används för att definiera behållarens basbild.
  • ' KOPIERA ' uttalande används för att kopiera ' index.html ”-filen till behållarens sökväg.
  • ' INKÖRSPORT ” beskriver körbara filer för Docker-behållare:
FRÅN nginx:senaste
COPY index1.html /usr/share/nginx/html/index.html
ENTRYPOINT ['nginx', '-g', 'daemon off;']

Steg 2: Skapa bild i Docker

Skapa sedan den nya bilden med hjälp av nämnda kommando:

docker build -t html .



Steg 3: Skapa och mappa behållaren på värd

Skapa och kartlägg sedan behållaren på värden genom ' hamnarkörning ” kommando. Här, ' -s 'alternativet används faktiskt för att kartlägga behållaren på localhost-porten' 80 ”:

docker run -p 80:80 --namn html-forts. html

Lista sedan ner alla behållare och kontrollera om porten är mappad eller inte:

hamnare ps -a

Steg 4: Verifiering

Kontrollera sedan om ' index.html ”-program som körs inuti behållaren är tillgängligt på värden eller inte. För detta ändamål, navigera till ' http://localhost:80 ' URL i webbläsaren:

Hur kartlägger man port i Docker Compose?

För att mappa porten i Docker Compose för att komma åt komponeringstjänsterna utanför Docker-behållaren, följ stegen i listan.

Steg 1: Skapa filen 'docker-compose.yml'.

Skapa först ' docker-compose.yml ' fil och klistra in följande instruktioner:

  • ' tjänster ”-tangenten definierar komponeringstjänsten. Till exempel, ' webb ' tjänsten skapas:
  • ' bygga ”-nyckeln används för att komma åt byggkontexten. I koden nedan står ' . ” betyder att vi använder Dockerfilen som är placerad i den för närvarande öppnade katalogen.
  • ' hamnar ”-tangenten används specifikt för att kartlägga hamnen. Den definierar porten där behållaren kommer att exponera:
version: '3'
tjänster:
webb:
bygga:.
hamnar:
-80:80

Steg 2: Kör Compose-tjänsten

Därefter kör du ' docker-compose up ” kommando för att starta tjänsterna på kartporten och inuti behållaren:

docker-compose up -d

Från utgången kan du se att vi har kommit åt ' webb ” tjänster utanför behållaren på värden:

Det handlar om portkartläggning i Docker.

Slutsats

Portmappning är en process för att skapa brandväggsregeln som mappar containerns port till den öppna porten på Docker-värden genom vilken de exekverande applikationerna eller tjänsterna är tillgängliga från värdsystemet. För att kartlägga hamnen i Docker, ' -p' eller '–publicera alternativet används i hamnarkörning ” kommando. I skrivfilen visas ' hamnar ”-tangenten används för att kartlägga hamnen. Det här inlägget har visat vad portmappning är i Docker och hur man mappar porten.