我可以通过以下方式启动硒中心图像:
docker run --rm=true -P -p 4444:4444 --name selenium-hub selenium/hub
并通过以下方式添加firefox worker:
docker run --rm=true --link selenium-hub:hub selenium/node-firefox
继续http://localhost:4444/grid/console然后将显示网格就好了。
我不希望每次都使用泊坞窗,但通过docker-compose
进行相同设置。
因此,我认为我可以在docker-compose.yml
:
selenium_hub:
image: selenium/hub
ports: ["4444:4444"]
links:
- selenium_firefox_worker
selenium_firefox_worker:
image: selenium/node-firefox
然而在跑完docker-compose up
后,我收到了消息:
selenium_firefox_node_1 | Not linked with a running Hub container
selenium_firefox_node_1 exited with code 1
因此网格不显示任何节点。
我认为我可能正在以错误的顺序进行链接,甚至是:
selenium_hub:
image: selenium/hub
ports: ["4444:4444"]
selenium_firefox_node:
image: selenium/node-firefox
links:
- selenium_hub
产生相同的错误。
我做错了什么?
答案 0 :(得分:7)
作为旁注,如果使用docker-compose版本2格式,则必须指定几个env变量,否则节点将不会连接到集线器:
version: '2'
services:
hub:
image: selenium/hub
ports:
- "4444:4444"
firefox:
image: selenium/node-firefox
environment:
HUB_PORT_4444_TCP_ADDR: hub
HUB_PORT_4444_TCP_PORT: 4444
links:
- hub
答案 1 :(得分:5)
Stumbling across this tutorial,提供了这种语法。虽然它与我的一种方法相似,但它确实有效。
gameData$TeamAScore <- ifelse(
is.nan(gameData$TeamAScore),
getTeamAScore(gameData$TeamA,gameData$TeamB,gameDate=gameData$Date),
gameData$TeamAScore
)
它似乎与命名有关,但我不确定。
答案 2 :(得分:3)
selenium_hub:
image: selenium/hub
ports: ["4444:4444"]
selenium_firefox_node:
image: selenium/node-firefox
links:
- "selenium_hub:hub"
虽然k0pernikus' answer确实有效,但我只是想详细说明它失败的原因。
节点容器希望连接到一个可以简单解析的集线器:
hub
而不是在他们的例子中,它可以解析为:
selenium_hub