As conexões provavelmente são DNATed para os contêineres. Isso significa que o host agora está atuando como um roteador entre "fora" e os contêineres. netstatnão exibirá essas conexões. Você precisará de ferramentas adicionais para os fluxos ausentes.
Uma dessas ferramentas é a conntrackque consulta conntrack sobre conexões rastreadas. Usando este comando com a opção -j:
conntrack -L -j
exibirá apenas conexões NAT, mostrando os fluxos ativos estabelecidos atualmente entre os contêineres e os externos e complementando a saída de netstat.
Se você deseja uma saída semelhante à que netstatvocê pode tentar, se disponível, netstat-natmais ou menos depende do mesmo mecanismo.
Um outro método, para executar em um loop, seria consultar o Docker (usando dockerdiretamente no host) sobre o pid principal de cada contêiner e usar o resultado para acessar a rede do contêiner, para executar um procedimento habitual netstat. Isso tem a vantagem de exibir determinados estados que não são mais exibidos com o conntrack (como CLOSE_WAITgeralmente um sintoma de problemas em um aplicativo).
Dado um contêiner Docker em execução chamado containername, ele deve obter todas as suas conexões de rede, como visto do seu próprio ponto de vista, mesmo que o contêiner em si não possua nenhum comando útil para isso:
nsenter --target $(docker inspect --format '{{.State.Pid}}' containername) --net netstat -utn