selenium/node-firefox
Selenium Grid in Node mode with Firefox
50M+
The Hub and Nodes will be created in the same network and they will recognize each other by their container name. A Docker network needs to be created as a first step.
docker network create grid
docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:latest
docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub \
--shm-size="2g" \
-e SE_EVENT_BUS_PUBLISH_PORT=4442 \
-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \
selenium/node-firefox:latest
If you are using Windows Powershell, use this command:
docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub `
--shm-size="2g" `
-e SE_EVENT_BUS_PUBLISH_PORT=4442 `
-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 `
selenium/node-firefox:latest
Point your WebDriver tests to http://localhost:4444
That's it!
(Optional) To see what is happening inside the container, head to http://localhost:7900/?autoconnect=1&resize=scale&password=secret.
When executing docker run
for an image that contains a browser please use the flag --shm-size=2g
to use the host's shared memory.
The example above uses latest
as a tag, but we recommend to full tag to pin a specific browser and Grid version. Please see Tagging Conventions for details.
A more detailed explanation that shows how to run the Nodes in different configurations can be seen at the Docker-Selenium project in GitHub
When you are done using the Grid, and the containers have exited, the network can be removed with the following command:
docker network rm grid
The tag structure is as follows:
selenium/node-edge-<Major>.<Minor>.<Patch>-<YYYYMMDD>
Also with browser version and browser driver version
selenium/node-firefox-<browserVersion>-<browserDriver>-<browserDriverVersion>-<Major>.<Minor>.<Patch>-<YYYYMMDD>
Plus all the permutations from the above one
Firefox 110.0
GeckoDriver 0.33.0
Selenium Server 4.9.0
Release date 20230426
e126989f151e selenium/node-firefox 4
e126989f151e selenium/node-firefox 4.9
e126989f151e selenium/node-firefox 4.9.0
e126989f151e selenium/node-firefox 4.9.0-20230426
e126989f151e selenium/node-firefox 110.0
e126989f151e selenium/node-firefox 110.0-20230426
e126989f151e selenium/node-firefox 110.0-geckodriver-0.33.0
e126989f151e selenium/node-firefox 110.0-geckodriver-0.33.0 -20230426
e126989f151e selenium/node-firefox 110.0-geckodriver-0.33.0 -grid-4.9.0-20230426
With that, you can use any of the different tags to get the most recent release in a simplified way.
The Docker-Selenium project in GitHub has an extensive README that will help you find the correct way to get this images up and running for your use case.
The project is made possible by volunteer contributors who have put in thousands of hours of their own time, and made the source code freely available under the Apache License 2.0.
docker pull selenium/node-firefox