Det er 2018, og jeg har lige haft et lignende problem. Løsningen for mig syntes at være med rækkefølgen af rekvisitter til docker. for eksempel. dette resulterede i, at ingen port blev afsløret;
docker run -d --name posttest postgres:alpine -e POSTGRES_PASSWORD=fred -p 5432:5432
mens dette fungerede fint (billedeksponeret port 5432 som forventet);
docker run --name posttest -d -p 5432:5432 -e POSTGRES_PASSWORD=fred postgres:alpine