首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dockerClient.createContainerCMD不会将Selenium节点链接到集线器

dockerClient.createContainerCMD不会将Selenium节点链接到集线器
EN

Stack Overflow用户
提问于 2019-09-24 22:05:15
回答 1查看 91关注 0票数 0

我尝试用java-docker lib启动Selenium节点Docker容器,结果是节点没有链接到集线器

代码语言:javascript
复制
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,如下所示:

代码语言:javascript
复制
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_HOSTHUB_PORT

代码语言:javascript
复制
.withEnv("HUB_HOST=selenium-hub")
.withEnv("HUB_PORT=4444")

然而,我不知道什么应该是depends_on部分的java等价物。

EN

回答 1

Stack Overflow用户

发布于 2019-09-24 22:41:48

首先,如果你使用的是不使用链接的docker-compose。selenium-hub:hub,所以你最好使用别名hub

代码语言:javascript
复制
("HUB_HOST=hub")

您也可以删除ENV,您可以直接使用hub主机。

在docker-compose中,容器可以引用另一个名称为container的容器,不需要内衬。

我还假设您正在从相同的docker-compose运行selenium-hub。

代码语言:javascript
复制
chrome:
        restart: always
        image : selenium/node-chrome-debug:latest
        ports:
          - 6001:5900
        depends_on:
          - selenium-hub
        environment:
          - HUB_HOST=selenium-hub
          - HUB_PORT=4444
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58082104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档