Eu não trabalhei com o Docker antes ... mas ...
Na maioria das configurações padrão, o postgresql não permite conexões não locais. Para permitir conexões remotas, você precisará adicionar uma linha 'host' no seu arquivo pg_hba.conf.
Normalmente esse arquivo é em algum lugar como:
/etc/postgresql/9.6/main/pg_hba.conf
Algo parecido com isto:
#TYPE DATABASE USER ADDRESS AUTH METHOD
host database1 user1 192.168.1.0/24 md5
Em seguida, reinicie seu cluster postgresql, via /etc/init.d/postgresql restart ou o que for apropriado para o seu SO.
Você deve poder ver a porta aberta em seu host remoto, via:
netstat -l
Se você fez isso corretamente, os endereços devem mudar de 'localhost' para 0.0.0.0.
Você também precisará adicionar 'user1' como um usuário do postgresql com uma senha e criar um banco de dados para esse usuário tocar.
Isto pode ser conseguido tornando-se o superusuário do postgresql através de algo como isto:
sudo -s
#su postgres
postgres@host$ createuser user1 -P
enter in a password
postgres@host$ createdb database1 -O user1
E então você deve poder se conectar ao seu cluster remoto postgresql através de um comando local de:
psql -h remote.host.address -U user1 -d database1
Naturalmente, todos os endereços IP são apenas ilustrativos. Faça as alterações conforme apropriado.