簡體   English   中英

Docker-compose:應用程序無法連接到Postgres容器

[英]Docker-compose: App can not connect to Postgres container

使用docker-compose時,我無法將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在運行時顯示的內容),則它似乎可以連接,但是連接被拒絕而不是未找到。

但是碼頭工人應該能夠在無需手動輸入ip的情況下轉換主機名。

Postgres正在退出,因為其卷已包含數據。

通過使用以下命令清理目錄來解決此問題:

docker-compose down -v

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM