別のアプリから直接データベースに接続することは可能でしょうか?

なぜ動かないのか、何かご存知の方はいらっしゃいますか?

このトピックの @pfaffman@Nacho_Caballero の投稿:

および、@mpalmer のこちらの投稿:

を参考にしました。

まず、app.yml を以下のように編集しました:

expose:
  - "127.0.0.2:5432:5432"

その後、コンテナを再構築しました。コンテナ内で postgres ユーザーのパスワードを設定し、コンテナ内からは以下のように接続できました:

psql -h localhost -d discourse -U postgres

しかし、コンテナから抜け、外部から接続しようとすると以下のようなエラーになります:

# psql -h 127.0.0.2 -p 5432 -d discourse -U postgres
psql: server closed the connection unexpectedly
	This probably means the server terminated abnormally
	before or while processing the request.

ポート番号を他の値に変更しても同じエラーになります。IP アドレスの 127 は docker ps とネットワーク設定の Inspect から取得しました(3 つのスタンドアロン Discourse インスタンスを稼働させています)。

IP アドレスを他の Discourse フォーラムのアドレスに変更すると、より即座に異なるエラーメッセージが表示されるため、上記の設定は一部正しいようです:

# psql -h 127.0.0.3 -p 5432 -d discourse -U postgres
psql: could not connect to server: Connection refused
	Is the server running on host "127.0.0.3" and accepting
	TCP/IP connections on port 5432?

何が間違っているかご教示いただけないでしょうか?
psql: server closed the connection unexpectedly で Google 検索すると、ネットワークの問題が示唆されています。コンテナ内で他に何か設定を変更する必要があるのでしょうか?