Можно ли подключаться к базе данных напрямую из отдельного приложения?

У кого-нибудь есть идеи, почему это не работает?

Я следовал некоторым сообщениям от @pfaffman и @Nacho_Caballero в этой теме: How to make the database (or part of it) accessible to a cloud data processor?, а также сообщению от @mpalmer здесь: Accessing to the database from outside the container - #4 by 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: сервер неожиданно закрыл соединение
	Скорее всего, это означает, что сервер завершился аномально
	до или во время обработки запроса.

Я также пробовал менять порт на другой, но получаю ту же ошибку. IP-адрес 127 я получил из команды docker ps и раздела Network Settings (у меня запущено три отдельных экземпляра Discourse).

Если я изменю IP-адрес (на один из IP-адресов других форумов Discourse), получаю (более немедленный и) другой ответ/сообщение, так что вышеуказанное кажется частично верным:

# psql -h 127.0.0.3 -p 5432 -d discourse -U postgres
psql: не удалось подключиться к серверу: отказ в соединении
	Запущен ли сервер на хосте "127.0.0.3" и принимает ли он
	TCP/IP-соединения на порту 5432?

Есть ли у кого-нибудь идеи, что я делаю не так? Поиск в Google по запросу psql: server closed the connection unexpectedly указывает на проблему с сетью — значит, нужно ли что-то ещё изменить внутри контейнера?