Selenium node/chrome docker image and selenium/hub docker image in different host machines Selenium node/chrome docker image and selenium/hub docker image in different host machines docker docker

Selenium node/chrome docker image and selenium/hub docker image in different host machines


Links don't work across machines. You can either specify the IP address/hostname and let it connect through that, or you can use Docker Swarm Mode to deploy your containers - that lets you do something very close to linking (it sets up a mesh network across the swarm nodes, so services can find each other).

Simplest: just pass the hostname in Ansible.


Below is what finally worked for me. Note that the SE_OPTS is necessary for the node to be able to link successfully to the hub that is on a different host.

- 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"