将在 docker 容器上运行的 FastApi 与在其自己的 docker 容器中运行的现有 postgresql 数据库连接

问题描述 投票:0回答:1

我在将 dockerized fastApi 项目与在自己的容器中运行的现有 postgresql 数据库连接时遇到问题。当我在本地运行 api 时,我能够连接到 localhost:5432 上的 postgres,但是当我尝试在 docker 上运行 api 时,我无法连接到已经存在的数据库。我知道容器默认在自己的网络上运行,但我尝试创建自定义网络,但仍然不允许我连接。我一直在尝试设置我的 docker compose,但我不确定它目前是否设置正确,我什至不确定它是否可能。

如果有人有一个示例,说明如何连接 dockerized FastApi 应用程序和在自己的容器中运行的单独的 postgres dB,请提供帮助

创建自定义网络

创建了 docker compose,但当我想连接到已有的数据库时创建了新的数据库

更改了 fast api 中的数据库 url,但它不起作用,仅当我在本地运行 fastApi 时才有效

postgresql docker docker-compose fastapi
1个回答
0
投票

检查连接字符串应该是 postgres 容器名称。不是本地主机。

© www.soinside.com 2019 - 2024. All rights reserved.