Docker Selenium Configuration在默认网桥上无法正常工作

时间:2018-09-01 08:32:48

标签: selenium docker docker-compose selenium-grid

如果我创建一个单独的网络,则此命令可以正常运行,但是在默认网桥上不起作用。命令在下面给出

docker run -d -p 4444:4444 --net bridge --name selenium-hub selenium/hub:3.14.0-beryllium

docker run -d --net bridge -e HUB_HOST=selenium-hub -v /dev/shm:/dev/shm selenium/node-chrome:3.14.0-beryllium
  1. 为什么会这样?

另一个问题是我正在将Selenium docker用于Docker Compose

所以我如下创建docker compose文件

# To execute this docker-compose yml file use `docker-compose -f <file_name> up`
# Add the `-d` flag at the end for detached execution
version: "3.6"
services:
    selenium-hub:
      image: selenium/hub
      network_mode: bridge
      container_name: hub
      ports:
        - "4446:4444"
    firefox:
      image: selenium/node-firefox
      network_mode: bridge
      container_name: firefox-node
      ports:
        - "5557:5555"
        - "49339:5900"
      environment:
        - NODE_MAX_INSTANCES=5
        - NODE_MAX_SESSION=5
      links:
        - "selenium-hub:hub"
    chrome:
      image: selenium/node-chrome
      network_mode: bridge
      container_name: chrome-node
      ports:
        - "5556:5555"
        - "49338:5900"
      environment:
        - NODE_MAX_INSTANCES=5
        - NODE_MAX_SESSION=5
      links:
        - "selenium-hub:hub"

但是在这里我遇到了一个问题,如果我们想扩展节点,那么端口冲突就会发生。我还需要公开节点端口,以便使用VNC在节点上调试Selenium脚本。

  1. 因此有可能像我们在Docker run中使用的那样从docker compose像-P选项中随机发布端口。

  2. 我们提到了Docker compose中的Selenium Grid容器名称。即使我们扩大了节点的名称,也不会与其他自定义容器发生冲突。

0 个答案:

没有答案