Jawaban di atas benar. Saya mencoba menjelaskan cara lain yang membantu saya memahami pemetaan port.
docker ps ExanpleContainter
Pelabuhan
10.10.10.10:443->443/tcp, 0.0.0.0:1937->1937/tcp
Di sini wadah Anda ExanpleContainer mengekspos dua port.
- 10.10.10.10:443->443/tcp
- 0.0.0.0:1937->1937/tcp
Keluaran dalam format berikut,
[IP_ADDR]:{PORT_OUTSIDE_CONTAINER} -> {PORT_INSIDE_CONTAINER} / {PROTOCOL}
Sekarang saat membuat wadah jika Anda tidak menentukan port internal mana yang akan dipetakan, itu akan memetakan port acak tetapi dalam kasus Anda kedua port (host dan terbuka) dipetakan sama.
10.10.10.10:443->443/tcp
Ini berarti docker host IP 10.10.10.10 pada port 443 dipetakan ke wadah yang ditentukan pada port 443. paket yang tiba di kombinasi port ip tersebut akan dapat diakses dalam wadah pada port yang sama (443)
0.0.0.0:1937->1937/tcp
Paket yang tiba di semua alamat IP yang tersedia (0.0.0.0) di docker host di port 1937 dapat diakses di container tertentu di port yang sama (1937)
Baca penjelasan dalam jawaban dan bandingkan dengan keluaran docker inspect ExanpleContainter
.