Se você executar:
docker run -p 27017:27017 --name mongo mongo
Em seguida, o docker interpreta isso como:
docker run -p 0.0.0.0:27017:27017 --name mongo mongo
O que significa que a porta é acessível a partir do host, mas também externamente.
Você pode verificar isso executando nmap -p 27017 <host IP>
de uma máquina diferente no seu host. Port 27017 deve aparecer como 'aberto'.
Se você executar:
docker run -p 127.0.0.1:27017:27017 --name mongo mongo
Em seguida, a porta só é acessível a partir do host.
Você pode verificar isso executando nmap -p 27017 <host IP>
de uma máquina diferente no seu host. Port 27017 deve aparecer como 'fechado'.
Finalmente, se você executar:
docker run --name mongo mongo
Em seguida, todas as portas serão locais para o contêiner.
Novamente, você pode verificar isso executando nmap
em seu host no contêiner: nmap -p 27017 <container IP>
. Port 27017 deve aparecer como 'fechado'.