Konteinera porti ir konkrēti tīkla porti, kurus var piesaistīt konkrētiem pakalpojumiem vai lietojumprogrammām konteinerā.
Katram konteineram var būt savi porti, kurus var izmantot saziņai ar ārpasauli vai saziņai ar citiem konteineriem. Palaižot konteineru, var norādīt, kurām ostām jābūt pieejamām konteinerā un kuras ostas jāpārsūta uz galveno mašīnu.
ports:
external_port:Internal port
Piemēram, pāradresēsim 80 portu kā 8094:
docker-nginx:
image: nginx
ports:
- '8094:80'
Kad konteiners darbojas, konteinera iekšpusē esošā lietojumprogramma var klausīties vai sūtīt datus, izmantojot attiecīgo portu. Lietotāji var mijiedarboties ar lietojumprogrammu, piekļūstot konteinerā esošajam portam, kas pārsūtīts uz uzņēmējmašīnu.
Lai palaistu konteineru porti, ir jāizmanto docker run
komanda ar karogu -p
vai --publish
.
Dokera palaišanas komandas docker run ar karogu -p
sintakse ir šāda:
docker run -p <host port>:<container port> <image_name>
kur:
<host-port> ir jūsu resursdatora ports, kas tiks pārsūtīts uz konteinera portu.
<konteinera ports> - konteinera ports, kuram tiks piekļūts, izmantojot norādīto saimnieka portu.
<image_name> - konteinera attēla nosaukums, kuru vēlaties palaist.
Piemēram, lai palaistu konteineru ar tīmekļa serveri 80 portā un proxy uz jūsu resursdatora 8080 portu, varat izmantot šādu komandu:
docker run -p 8080:80 nginx
Tagad konteinerā darbojošais tīmekļa serveris būs pieejams jūsu resursdatora 8080 portā.
Varat izmantot arī portu diapazonu, norādot vairākus pārus <host-port>:<konteinera-port>.
Piemēram:
docker run -p 8080-8082:80-82 nginx
Tādējādi 80, 81 un 82 konteinera porti tiks pārsūtīti attiecīgi uz jūsu resursdatora 8080, 8081 un 8082 portiem. Pēc konteinera palaišanas ar prokvizētajiem portiem varēsiet tiem piekļūt, izmantojot norādītos resursdatora portus.