Selenium-Hub 的 Docker 容器安装配置
官方对低版本的 hub 镜像选择放任不管,我们尽量采用高一点版本的镜像,我们决定安装这个 madehao 版本的 hub
-
拉取 selenium-hub 的镜像
# 拉取 selenium-hub docker pull madehao/selenium-hub # 查看拉取到的镜像 docker images
-
由 hub 生成容器,我配置的映射关系为
服务器地址 /home/selenium-hub
=>容器中地址 /var/selenium-hub
,服务器端口 5555
=>容器中端口 4444
,这个服务器地址指定和端口指定可以依据项目要求来指定这个容器取名 selenium-hub
# hub 生成容器 docker run --name selenium-hub -p 5555:4444 -v /home/selenium-hub:/var/selenium-hub madehao/selenium-hub # 在火狐浏览器中输入网址 localhost:5555/grid/console 可以发现只有一个空的控制台,这是因为此 grid 控制台还没有配置 node 节点
Selenium-Node 的 Docker 容器安装配置
为了项目方便我这里安装了两个 chrome 的节点,一个 79 版的 chrome 节点,一个 71 版本的 chrome 节点,我建议采用新一点,两个都装也没啥问题,下面我以 79 的举例来配置安装。哪些 node 对应着哪些版本这个可以进入 Docker Hub 网站自己去搜查日期节点
-
安装 79 版的 chrome 节点镜像
# 拉取 79 版 selenium-node-chrome docker pull madehao/selenium-node-chrome # 查看镜像是否被拉下来了 docker images
-
node 镜像生成容器
映射关系是
服务器地址 /home/node-chrome
=>容器中地址 /var/node-chrome
,服务器端口 5901
=>容器中端口 5900
,当然这个服务器的地址和端口具体该选择什么,这个得项目上提供给什么就去用什么,这个映射是我本地自己配置的注意,生成此 node 容器中
--link
连接的是 selenium-hub 容器的名字,上面我生成 selenium-hub 容器名字是 selenium-hub,这样才能实现将 node 成功挂载到指定的 hub 中# 由 node 生成容器 docker run --name node-chrome --link selenium-hub:hub --shm-size=512m -p 5901:5900 -v /home/node-chrome:/var/node-chrome madehao/selenium-node-chrome
-
打开浏览器,输入 localhost:5555/grid/console,这样我们就可以看到 grid 控制台中有 79 版的 chrome node 节点了!