Docker-compose:应用程序无法连接到Postgres容器

时间:2019-03-08 06:28:15

标签: postgresql docker docker-compose phoenix-framework

使用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就可以翻译主机名。

0 个答案:

没有答案