容器没有与docker-compose版本2链接

我有一个docker-compose文件,我从版本1升级到版本2。

它build立了一个简单的Selenium集线器与一个Firefox的节点。

当我把它设置为版本1时,它启动罚款。 当我使用版本2进行设置时,ff容器返回"Not linked with a running Hub container"并退出。

正如我研究和理解的那样,容器之间的联系是受到某种程度的影响的。

有没有解决scheme? 我错过了什么?

 version: '2' services: hub: container_name: hub image: selenium/hub ports: - "8080:4444" # HOST:CONTAINER expose: - "4444" ff: container_name: ff image: selenium/node-firefox links: - hub expose: - "5555" 

将一个环境variables添加到Docker Compose文件的ff部分(并且可以删除链接):

 ff: container_name: ff image: selenium/node-firefox environment: - HUB_PORT_4444_TCP_ADDR=hub expose: - "5555" 

撰写版本2使用不同的networking风格。 从升级指南 :

links创build的环境variables已被弃用一段时间。 在新的Dockernetworking系统中,它们已被删除。 您应该直接连接到适当的主机名,或使用链接主机名自己设置相关的环境variables。

从networking文档 :

links不需要使服务进行通信 – 默认情况下,任何服务都可以以该服务的名称到达任何其他服务。

Selenium dockerfile通过ENVvariables使用版本1风格的networking。 在代码中 ,如果该variables未设置(Docker用来执行此操作),entry_point.sh命令将退出。 提供variables明确地解决了这个问题。