我正在尝试使用java-docker lib
启动Selenium节点Docker容器,最后以未链接到中心的节点结束
container = dockerClient.createContainerCmd(image)
.withExposedPorts(exposedPort)
.withHostConfig(new HostConfig().withPortBindings(bindings))
.withName(name)
.withEnv("HUB_HOST=selenium-hub")
.withEnv("HUB_PORT=4444")
.exec();
dockerClient.startContainerCmd(container.getId()).exec();
我正在尝试模仿这样的docker-compose:
version: '3'
services:
selenium-hub:
restart: always
image: selenium/hub:latest
ports:
- 4444:4444
chrome:
restart: always
image : selenium/node-chrome-debug:latest
ports:
- 6001:5900
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=4444
links:
- selenium-hub:hub
因此,我认为以下内容应涵盖docker-compose中的HUB_HOST
和HUB_PORT
.withEnv("HUB_HOST=selenium-hub")
.withEnv("HUB_PORT=4444")
但是,我不知道在Java中,depends_on部分应该是什么。
答案 0 :(得分:0)
第一件事,如果您使用的是docker-compose,请不要使用链接。 selenium-hub:hub
,因此您最好使用别名hub
。
("HUB_HOST=hub")
您还可以删除ENV,可以直接使用hub
主机。
在docker-compose容器上,可以使用容器名称引用另一个容器,不需要衬里。
并且我还假设您正在从相同的docker-compose运行selenium-hub。
chrome:
restart: always
image : selenium/node-chrome-debug:latest
ports:
- 6001:5900
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=4444