A imagem do Postgres que você vinculou faz EXPOSE 5432
na definição do Dockerfile
Portanto, se você usou -P
no seu docker run
, ele seria exposto automaticamente, no entanto, isso seria mapeado para uma porta aleatória no seu host do Docker
O que você provavelmente quer é usar algo como
docker run -d -p :5432:5432 --name=postgres postgres
O que exporia e mapearia a porta 5432 dos contêineres para a porta 5432 dos hosts do docker