Hvad er Port Mapping i Docker?

Hvad Er Port Mapping I Docker



Docker er en velkendt og open source platform, der ofte bruges til at skabe, dele og køre software og applikationer. Den bruger forskellige komponenter til at udføre projekterne inde i containerne, såsom Docker-billeder, Docker-motor eller dæmon og Docker-klient. For at få adgang til containerens indre proces kræves portkortlægning dog.

Dette indlæg vil diskutere:







Hvad er Docker Port Mapping?

Mens de udfører tjenesterne eller applikationerne inde i containeren, ønsker brugere normalt at få adgang til appen eller tjenesterne til omverdenen i stedet for inde i containeren. For at få adgang til containerens processer eller tjenester udefra, bruges portkortlægningsprocessen i Docker. Portmapping er en proces, der skaber firewall-reglen, som kortlægger containerens åbne port til den åbne port på Docker-værten, hvorigennem de eksekverende applikationer eller tjenester er tilgængelige fra værtssystemet.



Hvordan kortlægger man en havn i Docker?

For at kortlægge en port i Docker bruges to muligheder til at publicere porten på værten; “ –publicere” eller “-s ”. Følg de medfølgende instruktioner for at kortlægge en port i Docker.



Trin 1: Lav Dockerfile

Først skal du oprette Dockerfilen, der vil udføre det simple HTML-program ' index.html ”. I nedenstående kode:





  • FRA ”-tasten bruges til at definere containerens basisbillede.
  • KOPI ' erklæring bruges til at kopiere ' index.html ” fil til containerens sti.
  • INDGANG ” beskriver de eksekverbare filer i Docker-containere:
FRA nginx:nyeste
COPY index1.html /usr/share/nginx/html/index.html
ENTRYPOINT ['nginx', '-g', 'dæmon off;']

Trin 2: Opret billede i Docker

Opret derefter det nye billede ved hjælp af nævnte kommando:

docker build -t html.



Trin 3: Opret og kortlæg containeren på værten

Opret og kortlæg derefter containeren på værten gennem ' docker-løb ” kommando. Her er ' -s ' mulighed bruges faktisk til at kortlægge containeren på localhost port ' 80 ”:

docker run -p 80:80 --navn html-fortsat html

Herefter skal du liste alle containerne ned og kontrollere, om porten er kortlagt eller ej:

docker ps -a

Trin 4: Bekræftelse

Derefter skal du kontrollere, om ' index.html ”-program, der kører inde i containeren, er tilgængeligt på værten eller ej. Til dette formål skal du navigere til ' http://localhost:80 ' URL i browseren:

Hvordan kortlægges port i Docker Compose?

Følg de anførte trin for at kortlægge porten i Docker Compose for at få adgang til compose-tjenesterne uden for Docker-containeren.

Trin 1: Lav 'docker-compose.yml' fil

Først skal du oprette ' docker-compose.yml ' fil og indsæt følgende instruktioner:

  • tjenester ”-tasten definerer komponeringstjenesten. For eksempel ' web ' tjeneste oprettes:
  • bygge ”-tasten bruges til at få adgang til byggekonteksten. I koden nedenfor er ' . ” betyder, at vi bruger Dockerfilen, der er placeret i den aktuelt åbnede mappe.
  • havne ”-tasten bruges specifikt til at kortlægge havnen. Det definerer den havn, hvor containeren vil udsætte:
version: '3'
tjenester:
web:
bygge:.
havne:
-80:80

Trin 2: Udfør Compose-tjenesten

Udfør derefter ' docker-compose up ” kommando for at starte tjenesterne på kortlægningsporten og inde i containeren:

docker-komponere op -d

Fra outputtet kan du se, at vi har fået adgang til ' web ” tjenester uden for containeren på værten:

Det handler om portmapping i Docker.

Konklusion

Portmapping er en proces til at skabe firewall-reglen, som kortlægger containerens port til den åbne port på Docker-værten, hvorigennem de eksekverende applikationer eller tjenester er tilgængelige fra værtssystemet. For at kortlægge havnen i Docker skal ' -p' eller '–publish ' mulighed bruges i ' docker-løb ” kommando. I skrivefilen er ' havne ”-tasten bruges til at kortlægge havnen. Dette indlæg har vist, hvad portmapping er i Docker, og hvordan man kortlægger porten.