可变数量的Docker容器之间的通信

我有3种不同types的图像(A,B,C)。 我的Docker主机上的Python脚本从图像A启动X容器,从图像C启动图像B和Z容器的Y容器。所有实例都分配了它们的名称(A0,A1,A2,… B0,B1 …)需要根据预定义的scheme相互发送和接收消息(与问题无关)。 在运行集群之前可以更改X,Y和Z,因此每个运行可以为每个映像运行不同数量的每个容器。

使所有容器知道需要与其通信的其他容器(包括docker服务器主机)的名称和/或IP地址的最佳方法是什么?

我发现的一些方法包括:

  • 使用Docker API将GET请求发送到主机并parsing回复以获取所有正在运行的容器(docker ps -a)
  • 使用环境variables,通过运行所有容器的脚本进行设置

谢谢。