【发布时间】:2019-12-15 16:01:51
【问题描述】:
我正在尝试通过在容器中运行的 python 脚本连接到本地运行的 postgres。我之所以这样设置,是因为将来部署后,我将使用启动 postgres 的托管数据库服务。
理想情况下,我可以在 .env 中定义一个 postgres url,docker-compose 使用 env 设置环境变量,应用程序读取 postgres url。
这是最好的方法还是我应该有一个 postgres 容器。
实现我刚才描述的流程的最佳方法。
尝试使用 localhost、公共 ip、本地 ip 在 .env 中传递 POSTGRES_URL。例如:postgresql://username:password@localhost:5432/dbname
version: "3.7"
services:
app:
build:
context: ./
dockerfile: Dockerfile
volumes:
- "./:/usr/src/app"
environment:
- ENV=${ENV}
- LOGS=${LOGS}
- AWS_REGION=${AWS_REGION}
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
- POSTGRES_URL=${POSTGRES_URL}
预期:连接到本地数据库成功。
实际: 服务器是否在主机 上运行并接受 端口 5432 上的 TCP/IP 连接?
【问题讨论】:
标签: python postgresql docker