容器未与 docker-compose 版本 2 链接
Containers are not linked with docker-compose version 2
我有一个 docker-compose 文件,我从版本 1 升级到版本 2。
它设置了一个带有 firefox 节点的简单 Selenium 集线器。
当我将它设置为版本 1 时,它可以正常启动。当我使用版本 2 设置它时,ff 容器 returns "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
部分(您可以删除 link):
ff:
container_name: ff
image: selenium/node-firefox
environment:
- HUB_PORT_4444_TCP_ADDR=hub
expose:
- "5555"
Compose 版本 2 使用不同的网络风格。来自 upgrading guide:
environment variables created by links
have been deprecated for some
time. In the new Docker network system, they have been removed. You
should either connect directly to the appropriate hostname or set the
relevant environment variable yourself, using the link hostname.
links
are not required to enable services to communicate - by
default, any service can reach any other service at that service’s
name.
Selenium dockerfile 通过 ENV 变量使用版本 1 样式的网络。在 code 中,如果未设置该变量(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
来源:
我有一个 docker-compose 文件,我从版本 1 升级到版本 2。
它设置了一个带有 firefox 节点的简单 Selenium 集线器。
当我将它设置为版本 1 时,它可以正常启动。当我使用版本 2 设置它时,ff 容器 returns "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
部分(您可以删除 link):
ff:
container_name: ff
image: selenium/node-firefox
environment:
- HUB_PORT_4444_TCP_ADDR=hub
expose:
- "5555"
Compose 版本 2 使用不同的网络风格。来自 upgrading guide:
environment variables created by
links
have been deprecated for some time. In the new Docker network system, they have been removed. You should either connect directly to the appropriate hostname or set the relevant environment variable yourself, using the link hostname.
links
are not required to enable services to communicate - by default, any service can reach any other service at that service’s name.
Selenium dockerfile 通过 ENV 变量使用版本 1 样式的网络。在 code 中,如果未设置该变量(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
来源: