Docker container for Postgres 9.1 not exposing port 5432 to host
It's 2018 and I just had a similar problem. The solution for me seemed to be with the order of props to docker. e.g. this resulted in no port being exposed;
docker run -d --name posttest postgres:alpine -e POSTGRES_PASSWORD=fred -p 5432:5432
while this worked fine (image exposed port 5432 as expected);
docker run --name posttest -d -p 5432:5432 -e POSTGRES_PASSWORD=fred postgres:alpine
Your docker host is a virtual machine, which has it's own IP adddres.You can detect this IP address by entering the following command:
docker-machine ip
The answer will be something like 192.168.99.100
When you have mapped the ports using the -p 5432:5432 switch, you will be able to connect to postgres with any tool from your dev machine using the IP address mentioned.
Run the postgre image with the correct Port Mapping using -p <host_port>:<container_port>
:
docker run --same-options-as-step-one -d -p 5432:5432 postgres:9.1