Ce face docker port
Când pornești un container cu -p 8080:80, portul 80 din container devine accesibil pe portul 8080 al gazdei. docker port afișează aceste asocieri, câte una pe linie, pentru IPv4 și IPv6.
Este utilă mai ales cu -P (litera mare) sau cu -p 80 fără port pe gazdă: atunci Docker alege singur un port liber, iar docker port îți spune care este. Comanda nu arată porturile declarate doar cu EXPOSE și nepublicate.
Parametri
| Parametru | Descriere |
|---|---|
<container> |
Numele sau ID-ul containerului. |
<port>[/tcp|/udp] |
Afișează doar asocierea pentru un port din container. |
Exemple
Exemplul 1: Porturile unui server web
Portul 80 al containerului este publicat pe 8080, pe toate interfețele, IPv4 și IPv6.
docker run -d --name web-iasi -p 8080:80 nginx:1.27-alpine
docker port web-iasi
Ieșire în terminal
80/tcp -> 0.0.0.0:8080
80/tcp -> [::]:8080
Exemplul 2: Aflarea portului ales automat
Cu -P, Docker publică porturile din EXPOSE pe porturi libere; cerem doar pe cel pentru 5432.
docker run -d --name db-test -P -e POSTGRES_PASSWORD=test postgres:17
docker port db-test 5432/tcp
Ieșire în terminal
0.0.0.0:55001
[::]:55001
Greșeli frecvente
- Așteptarea ca
docker portsă afișeze ceva pentru un container pornit fără-p/-P: fără publicare, ieșirea este goală, chiar dacă imaginea areEXPOSE. - Publicarea bazelor de date pe toate interfețele (
0.0.0.0) pe un server public: limitează la gazda locală cu-p 127.0.0.1:5432:5432.
Comenzi înrudite
docker create: Creează un container cu toate setările lui, fără să-l pornească; îl pornești mai târziu cu docker start.docker rename: Schimbă numele unui container existent, pornit sau oprit, fără să-l recreezi.