[英]Containers are not linked with docker-compose version 2
我有一个从版本 1 升级到版本 2 的 docker-compose 文件。
它设置了一个带有 Firefox 节点的简单 Selenium 集线器。
当我将其设置为版本 1 时,它可以正常启动。 当我使用版本 2 设置它时,ff 容器返回"Not linked with a running Hub container"
并退出。
正如我研究并理解的那样,容器之间的联系以某种方式受到影响。
有解决办法吗?? 我错过了什么吗?
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"
将环境变量添加到 Docker Compose 文件的ff
部分(您可以删除链接):
ff:
container_name: ff
image: selenium/node-firefox
environment:
- HUB_PORT_4444_TCP_ADDR=hub
expose:
- "5555"
Compose 版本 2 使用不同的网络风格。 从升级指南:
由
links
创建的环境变量已被弃用一段时间。 在新的 Docker 网络系统中,它们已被删除。 您应该直接连接到适当的主机名或使用链接主机名自己设置相关的环境变量。
从网络文档:
links
不需要启用服务进行通信 - 默认情况下,任何服务都可以以该服务的名称访问任何其他服务。
Selenium dockerfile 通过 ENV 变量使用版本 1 风格的网络。 在代码中,如果未设置该变量(Docker 曾经这样做),则 entry_point.sh 命令将退出。 提供明确的变量可以解决这个问题。
下面是为我工作的撰写文件
# To execute this docker-compose yml file use docker-compose -f <file_name> up
# Add the "-d" flag at the end for deattached execution
version: '2'
services:
firefoxnode:
image: selenium/node-firefox-debug
volumes:
- /dev/shm:/dev/shm
depends_on:
- hub
environment:
HUB_HOST: hub
ports:
- "32772:5900"
chromenode:
image: selenium/node-chrome-debug
volumes:
- /dev/shm:/dev/shm
depends_on:
- hub
environment:
HUB_HOST: hub
ports:
- "32773:5900"
hub:
image: selenium/hub
ports:
- "4444:4444"
我使用的命令:
docker-compose -f .\docker-compose.yml up -d
来源:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.