首页 > 解决方案 > docker-compose 文件中 network_mode 为“host”时,无法将两个节点注册到 selenium/hub

问题描述

我正在尝试构建一个本地硒/集线器来访问我的本地开发站点,它工作正常,但只有一个节点。对于两个或更多节点,我收到以下错误(仅注册了一个节点):

web-automation_chrome | 19:27:27.120 错误 [BaseServer.start] - 端口 5555 正忙,请选择一个空闲端口并使用 -port 选项 web-automation_chrome | 指定它 线程“主”java.lang.RuntimeException 中的异常:java.net.BindException:地址已在使用中

问题是如果使用network_mode: host,我们将无法使用端口。你知道如何处理这个问题吗?

这是 docker-compose 文件的内容:

services:

  hub:
    image: selenium/hub
    network_mode: "host"
    environment:
      GRID_MAX_SESSION: 16
      GRID_BROWSER_TIMEOUT: 3000
      GRID_TIMEOUT: 3000

  chrome:
    image: selenium/node-chrome
    container_name: web-automation_chrome
    depends_on:
      - hub
    network_mode: "host" 
    environment:
      HUB_PORT_4444_TCP_ADDR: localhost 
      HUB_PORT_4444_TCP_PORT: 4444
    volumes:
      - /dev/shm:/dev/shm

  firefox:
    image: selenium/node-firefox
    container_name: web-automation_firefox
    depends_on:
      - hub
    network_mode: "host"
    environment:
      HUB_PORT_4444_TCP_ADDR: localhost 
      HUB_PORT_4444_TCP_PORT: 4444
    volumes:
      - /dev/shm:/dev/shm

标签: dockerdocker-composeselenium-grid

解决方案


推荐阅读