A konténerportok olyan speciális hálózati portok, amelyek egy konténeren belül meghatározott szolgáltatásokhoz vagy alkalmazásokhoz köthetők.
Minden konténer saját portokkal rendelkezhet, amelyeket a külvilággal való kommunikációra vagy más konténerekkel való kommunikációra lehet használni. Egy konténer indításakor megadhatja, hogy mely portok legyenek elérhetőek a konténeren belül, és mely portok legyenek továbbítva a gazdagép felé.
ports:
external_port:Internal port
Például továbbítsuk a 80-as portot 8094-es portként:
docker-nginx:
image: nginx
ports:
- '8094:80'
Amikor a konténer fut, a konténerben lévő alkalmazás a megfelelő porton keresztül hallgathatja vagy küldheti az adatokat. A felhasználók az alkalmazással úgy tudnak interakcióba lépni, hogy elérik a konténer portját, amelyet továbbítottak a gazdagép felé.
A konténerportok indításához a docker run
parancsot kell használni a -p
vagy --publish
flaggel.
A docker run parancs szintaxisa a -p
jelzővel a következő:
docker run -p <host port>:<container port> <image_name>
Ahol:
<host-port> az a port a hoszton, amely a konténer portjára lesz proxyként átirányítva.
<container-port> - a konténeren belüli port, amely a megadott host porton keresztül lesz elérhető.
<image_name> - a futtatni kívánt konténerkép neve.
Ha például egy konténert szeretne indítani egy webkiszolgálóval a 80-as porton, és proxy útján a 8080-as portra a hosztján, akkor a következő parancsot használhatja:
docker run -p 8080:80 nginx
A konténerben futó webkiszolgáló mostantól elérhető lesz a hoszt 8080-as portján.
Porttartományt is használhat több <host-port>:<konténer-port> pár megadásával.
Például:
docker run -p 8080-8082:80-82 nginx
Ez a konténeren belül a 80-as, 81-es és 82-es portokat a 8080-as, 8081-es és 8082-es portokra közvetíti az Ön hostján. Miután elindította a konténert a proxy portokkal, a megadott hoszt portokon keresztül elérheti azokat.