首页 > 解决方案 > 使用 docker compose 运行 selenium hub 和 node

问题描述

我有这个docker-compose.yml文件我用它在 mac OS 上打开 selenium hub 和 node。我将主机端口更改为 65299 ,因为我收到了正在使用 4444 的错误。我安装了 docker desktop 3.5.1

 version: "3"
services:
  selenium-hub:
    image: selenium/hub
    container_name: selenium-hub
    ports:
      - "65299:4444"

  chrome:
    image: selenium/node-chrome
    depends_on:
      - selenium-hub
    environment:
      - HUB_HOST=selenium-hub
      - HUB_PORT=65299


  firefox:
    image: selenium/node-firefox
    depends_on:
      - selenium-hub
    environment:
      - HUB_HOST=selenium-hub
      - HUB_PORT=65299

当我看这里 - http://localhost:65299/grid/console时,我没有看到任何已注册的节点

另外,在终端上我得到了这个

firefox_1       | 20:27:22.110 INFO [SelfRegisteringRemote$1.run] - Couldn't register this node: The hub is down or not responding: Failed to connect to selenium-hub/172.26.0.2:65299

另外,在日志中它说

 Nodes should register to http://172.27.0.2:4444/grid/register/

那么为什么系统甚至会尝试172.26.0.2:65299或者我可能在这里遗漏了什么?

标签: dockerseleniumselenium-webdriverdocker-compose

解决方案


节点的 HUB_PORT 变量错误。65299 端口是用于从 docker 网络外部访问 hub 的端口。例如,您正在使用此端口作为浏览器的访问集线器。

您需要将 4444 设置为该变量。该端口可用于 docker 网络。所以节点可以连接集线器。


推荐阅读