Selenium节点/ chrome docker镜像和selenium / hub docker镜像在不同主机上

我有一种情况,我必须在不同的主机中使用节点/ chrome和selenium / hub映像。 然而问题是,虽然我把他们连接起来,如下所示:

- name: seleniumchromenode container docker: name: seleniumhubchromenode image: "{{ seleniumchromenode_image }}" state: "{{ 'started' }}" pull: always restart_policy: always links: seleniumhub:hub 

它不被链接,或者换句话说,中心没有发现节点。 请让我知道,只有当集线器和节点在同一主机内时,链接才能工作。

链接在机器上不起作用。 您可以指定IP地址/主机名并通过它连接,也可以使用Docker Swarm模式部署您的容器 – 这可以让您做一些非常接近的连接(它在群集节点之间build立一个网状networking,所以服务可以find对方)。

最简单的:只需传递Ansible中的主机名即可。

下面是最后为我工作的东西。 请注意,SE_OPTS对于节点能够成功链接到不同主机上的集线器是必需的。

 - name: seleniumchromenode container docker_container: name: seleniumhubchromenode image: "{{ seleniumchromenode_image }}" state: "{{ 'started' }}" pull: true restart_policy: always exposed_ports: - "{{seleniumnode_port}}" published_ports: - "{{seleniumnode_port}}:{{seleniumnode_port}}" env: HUB_PORT_4444_TCP_ADDR: "{{seleniumhub_host}}" HUB_PORT_4444_TCP_PORT: "{{seleniumhub_port}}" SE_OPTS: "-host {{seleniumnode_host}} -port {{seleniumnode_port}}" NODE_MAX_INSTANCES: "5" NODE_MAX_SESSION: "5"