繁体   English   中英

容器未与 docker-compose 版本 2 链接

[英]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

来源:

https://github.com/SeleniumHQ/docker-selenium

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM