Fiz mais escavações. Isso se parece com o comportamento do Docker que modifica a cadeia FORWARD do iptables.
Chain FORWARD (policy DROP)
target prot opt source destination
DOCKER-OVERLAY all -- anywhere anywhere
DOCKER-ISOLATION all -- anywhere anywhere
DOCKER all -- anywhere anywhere
Chain DOCKER (2 references)
target prot opt source destination
ACCEPT tcp -- anywhere 172.17.0.2 tcp dpt:postgresql
Este site descreve o problema.
Para evitar que o Docker encaminhe todo o acesso ao seu contêiner, especifique 127.0.0.1
ao executar o contêiner.
docker run -p 127.0.0.1:5432:5432 postgres