【发布时间】:2020-02-09 16:32:58
【问题描述】:
我有一个包含 2 个服务的 docker compose 文件:一个 apache 气流服务和一个用于气流的 postgres 服务。
我有一个在 5555 端口上本地运行的 postgres 数据库。如何将我的 docker compose 文件连接到我的本地数据库?
我修剪后的撰写文件如下所示:
version: 3
services:
postgres:
ports:
- "5432:5432"
webserver:
environment:
- db_uri=path.localhost:5555/db_name
ports:
- "8080:8080"
network_mode: "host"
当我像这样运行我的 docker 时,我收到了这个错误(psycopg2.OperationalError) could not translate host name "postgres" to address: Name or service not known。
但是,如果我将环境变量从 localhost 更改为我的 inet ip 地址 (db_uri=path.123.456.789.012:5555/db_name) 并删除 network_mode 选项,它工作正常。如何将其更改为动态的,这样如果其他人运行 docker,它也可以为他们工作?
【问题讨论】:
标签: postgresql docker docker-compose