Betalingsmetoder Abuse

Hvad er containerhavne?

10.09.2023, 23:08

Containerporte er specifikke netværksporte, der kan bindes til specifikke tjenester eller programmer i en container.

Hvad er det særlige ved containere?

Hver container kan have sine egne porte, som kan bruges til at kommunikere med omverdenen eller til at kommunikere med andre containere. Når man starter en container, kan man angive, hvilke porte der skal være tilgængelige inde i containeren, og hvilke porte der skal videresendes til værtsmaskinen.

ports:

external_port:Internal port

Lad os f.eks. videresende port 80 som 8094:

docker-nginx:
  image: nginx
  ports:
    - '8094:80'

Når containeren kører, kan applikationen inde i containeren lytte eller sende data gennem den relevante port. Brugere kan interagere med applikationen ved at tilgå den containerport, der blev videresendt til værtsmaskinen.

Sådan starter du en container

For at starte containerporte skal du bruge kommandoen docker run med flaget -p eller --publish.

Syntaksen for kommandoen docker run med -p-flaget er som følger:

docker run -p <host port>:<container port> <image_name>

Hvor:

<host-port> er den port på din host, der vil blive proxyet til containerporten.

<container-port> - porten i containeren, som vil blive tilgået via den angivne host-port.

<image_name> - navnet på det containerbillede, du vil køre.

Hvis du f.eks. vil starte en container med en webserver på port 80 og proxy'e den til port 8080 på din host, kan du bruge følgende kommando:

docker run -p 8080:80 nginx

Webserveren, der kører i containeren, vil nu være tilgængelig på port 8080 på din host.

Du kan også bruge et portinterval ved at angive flere <host-port>:<container-port>-par.

For eksempel:

docker run -p 8080-8082:80-82 nginx

Dette vil proxy-porte 80, 81 og 82 i containeren til henholdsvis port 8080, 8081 og 8082 på din host. Når du starter containeren med de proxyede porte, vil du kunne få adgang til dem via de angivne værtsporte.