Мне не удается подключить мое приложение Phoenix к контейнеру Postgres при использовании docker-compose up.
Мой docker-compose.yml:
version: '3.5'
services:
web:
image: "solaris_cards:latest"
ports:
- "80:4000"
env_file:
- config/docker.env
depends_on:
- db
db:
image: postgres:10-alpine
volumes:
- "/var/lib/postgresql/data/pgdata/var/lib/postgresql/data"
ports:
- "5432:5432"
env_file:
- config/docker.env
Приложение работает ввеб-контейнер жалуется, что отсутствует соединение с контейнером Postgres:
[error] Postgrex.Protocol (#PID<0.2134.0>) failed to connect: ** (DBConnection.ConnectionError) tcp connect (db:5432): non-existing domain - :nxdomain
Мои переменные env:
DATABASE_HOST=db
DATABASE_USER=postgres
DATABASE_PASS=postgres
Я попытался сначала запустить контейнер Postgres отдельно, а затем запуститьвеб-контейнер, но все еще имеет ту же проблему.
Если я изменю хост базы данных на 0.0.0.0 (что показывает Postgres при работе), то, похоже, он соединяется, но соединение отклоняется, а не обнаруживается.
Однако докер должен иметь возможность переводить имя хоста, без ввода вручную ip.