我使用 docker-compose 来链接容器。结构如下所示:
version: '3.3'
services:
db_service:
...
api_service:
...
...
我知道 Nginx 可以使用以下代码访问其他容器的 IP:
location /api/ {
proxy_pass http://api_service:5000;
}
我想将这个问题扩展到一个具体的例子会受到赞赏。
在我的情况下,我想连接到位于另一个容器中的数据库。数据库的 IP 由下式给出:$ docker inspect my_db | grep "IPAddress"并且在不同的运行时它不是恒定的。下面的代码目前有效,但我正在寻找更强大的东西,它可以抵抗简单的重启,并且在周期的每个阶段(开发、测试、部署)都可以理想地重用。
conn = psycopg2.connect("dbname=postgres user=postgres password=postgres host=172.25.0.2")