我使用docker-compose链接容器。结构如下:
version: '3.3'
services:
db_service:
...
api_service:
...
...
我知道Nginx可以使用以下代码访问其他容器的IP:
location /api/ {
proxy_pass http://api_service:5000;
}
我想将此question扩展到一个具体的例子。
在我的情况下,我想连接到另一个容器中的数据库。数据库的IP由$ docker inspect my_db | grep "IPAddress"
给出,并且在不同的运行时中不是恒定的。下面的代码目前可以正常工作,但是我正在寻找更强大的功能,可以抵抗简单的重新启动,并且理想情况下可以在周期的每个阶段(开发,测试,部署)重用。
conn = psycopg2.connect("dbname=postgres user=postgres password=postgres host=172.25.0.2")
答案 0 :(得分:1)
您可以按照您所说的服务名称进行访问。只记得添加链接部分和depends_on。然后,您将在主机文件中解析db_service。