Es 2018 y acabo de tener un problema similar. La solución para mí parecía estar en el orden de los accesorios para la ventana acoplable. p.ej. esto dio como resultado que no se expusiera ningún puerto;
docker run -d --name posttest postgres:alpine -e POSTGRES_PASSWORD=fred -p 5432:5432
mientras esto funcionó bien (la imagen expuso el puerto 5432 como se esperaba);
docker run --name posttest -d -p 5432:5432 -e POSTGRES_PASSWORD=fred postgres:alpine