加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

容器不与docker-compose版本2相关联

发布时间:2020-12-16 03:31:11 所属栏目:安全 来源:网络整理
导读:我有一个docker-compose文件,我从版本1升级到版本2. 它设置了一个简单的带有Firefox的节点的Selenium中枢. 当我把它设置为版本1它启动罚款.当我使用版本2进行设置时,ff容器返回“不与正在运行的Hub容器关联”并退出. 当我研究它并理解它,是容器之间的联系以

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

它设置了一个简单的带有Firefox的节点的Selenium中枢.

当我把它设置为版本1它启动罚款.当我使用版本2进行设置时,ff容器返回“不与正在运行的Hub容器关联”并退出.

当我研究它并理解它,是容器之间的联系以某种方式受到损害.

有解决方案吗?我错过了什么吗?

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使用不同风格的网络.从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.

从networking documentation:

links are not required to enable services to communicate – by
default,any service can reach any other service at that service’s
name.

Selenium docker文件使用ENV变量的版本1风格的网络.在code中,如果该变量未设置(Docker曾经做过),则entry_point.sh命令将退出.提供变量明确地解决了这一点.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读