使用docker-compose在容器之间共享IP

时间:2019-02-07 15:38:48

标签: docker docker-compose

我使用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")

1 个答案:

答案 0 :(得分:1)

您可以按照您所说的服务名称进行访问。只记得添加链接部分和depends_on。然后,您将在主机文件中解析db_service。