使用docker-compose up时,我无法将Phoenix应用程序连接到Postgres容器。
我的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
在Web容器中运行的应用程序抱怨与Postgres容器的连接不存在:
[error] Postgrex.Protocol (#PID<0.2134.0>) failed to connect: ** (DBConnection.ConnectionError) tcp connect (db:5432): non-existing domain - :nxdomain
我的环境变量:
DATABASE_HOST=db
DATABASE_USER=postgres
DATABASE_PASS=postgres
我尝试先单独运行Postgres容器,然后再运行Web容器,但是仍然存在相同的问题。
如果我将数据库主机更改为0.0.0.0(这是Postgres在运行时显示的内容),则它似乎已建立连接,但连接被拒绝而不是未找到。
但是docker应该无需我手动输入ip就可以翻译主机名。