Não é possível expor uma porta no host, mas expor no docker funciona

Não é possível expor uma porta no host, mas expor no docker funciona

Eu tenho uma instância AWS. Todo o tráfego de entrada e saída é permitido em todas as portas.

Eu corro python3 -m http.server 8000 no host, mas não consigo acessar <hostIP>:8000de fora da máquina host.

Agora, se eu executar o docker container docker run -di -p 8000:8000 ubuntuno mesmo host.

e dentro do contêiner docker que executo, python3 -m http.server 8000consigo GET <hostIP>:8000de fora da máquina host.

não consigo entender isso. Alguma idéia sobre o que pode estar acontecendo?

PS: Fiz um tcpdump e descobri que o host está recebendo o pacote tcp SYN, mas não está respondendo com um SYNACK.

PPS:lsof -Pi :8000

python3 13376 root 3u IPv4 71025 0t0 TCP *:8000 (LISTEN)

Responder1

ufwserviço estava bloqueando tudo no sistema. O Docker estava sendo configurado ufwcorretamente e, portanto, funcionando imediatamente. Parei ufwe está tudo funcionando. Momento de palma da mão.

informação relacionada