Containerporter er spesifikke nettverksporter som kan knyttes til bestemte tjenester eller applikasjoner i en container.
Hver container kan ha sine egne porter som kan brukes til å kommunisere med omverdenen eller til å kommunisere med andre containere. Når du starter en container, kan du angi hvilke porter som skal være tilgjengelige inne i containeren, og hvilke porter som skal videresendes til vertsmaskinen.
ports:
external_port:Internal port
La oss for eksempel videresende port 80 som 8094:
docker-nginx:
image: nginx
ports:
- '8094:80'
Når containeren kjører, kan applikasjonen inne i containeren lytte eller sende data gjennom den aktuelle porten. Brukerne kan samhandle med applikasjonen ved å gå til containerporten som ble videresendt til vertsmaskinen.
For å starte containerporter må du bruke kommandoen docker run
med flagget -p
eller --publish
.
Syntaksen for docker run-kommandoen med -p-flagget
er som følger:
docker run -p <host port>:<container port> <image_name>
Hvor:
<host-port> er porten på verten din som skal proxies til containerporten.
<container-port> - porten i containeren som skal nås via den angitte vertsporten.
<image_name> - navnet på containerbildet du vil kjøre.
Hvis du for eksempel vil starte en container med en webserver på port 80 og proxy til port 8080 på verten din, kan du bruke følgende kommando:
docker run -p 8080:80 nginx
Webserveren som kjører i containeren, vil nå være tilgjengelig på port 8080 på verten din.
Du kan også bruke et portområde ved å angi flere <host-port>:<container-port>-par.
Et eksempel:
docker run -p 8080-8082:80-82 nginx
Dette vil proxy-portene 80, 81 og 82 i containeren til henholdsvis port 8080, 8081 og 8082 på verten din. Når du starter containeren med de proxy-portene, vil du kunne få tilgang til dem via de angitte vertsportene.