Skip to content

Latest commit

 

History

History
141 lines (72 loc) · 5.66 KB

README.md

File metadata and controls

141 lines (72 loc) · 5.66 KB

geckodriver Docker image

Release CI Docker Hub

Docker Hub | GitHub Container Registry | Quay.io

Changelog

Supported tags and respective Dockerfile links

What is geckodriver?

geckodriver is a proxy for using W3C WebDriver compatible clients to interact with Gecko-based browsers.

This program provides the HTTP API described by the WebDriver protocol to communicate with Gecko browsers, such as Firefox. It translates calls into the Marionette remote protocol by acting as a proxy between the local and remote ends.

This image bundles geckodriver with Firefox and is suitable for running headless tests.

firefox-source-docs.mozilla.org/testing/geckodriver

How to use this image

docker run -d -p 4444:4444 instrumentisto/geckodriver

After that you can connect to geckodriver that is listening on 127.0.0.1:4444. Only headless mode is supported.

Consider using --network=host option for running image if you want to run tests on local server.

Consider to increase shared memory size (--shm-size 2g option), otherwise you may experience unexpected Firefox crashes.

Accessing via 127.0.0.1 works well once launched as a simple container. However, in a Docker Compose environment, there likely would be complications due to its networking modes. By default, services are reached by its name, which the launched geckodriver is unaware of. That's why the allowed hosts should be explicitly specified (either via --host argument, or --allow-hosts one for multiple entries):

services:
  stuff:
    image: whatever
    environment:
      WEBDRIVER_URL: "http://webdriver:4444"
      #                      ^^^^^^^^^ using service name
  webdriver:
    image: instrumentisto/geckodriver
    command: "--host=webdriver --binary=/opt/firefox/firefox --log=debug"
    #         ^^^^^^^^^^^^^^^^ allow service name for geckodriver

Otherwise, geckodriver won't accept any incoming requests.

Image tags

debian

Latest tag of the latest Firefox and geckodriver versions on the latest stable Debian version.

debian-<name>

Latest tag of the latest Firefox and geckodriver versions on the latest <name> Debian version.

<X.Y>/<X.Y.Z>

Latest tag of the concrete X.Y (or X.Y.Z) Firefox version with the latest geckodriver version.

<X.Y>-driver<A.B.C>/<X.Y.Z>-driver<A.B.C>

Latest tag of the concrete X.Y (or X.Y.Z) Firefox version with the concrete A.B.C geckodriver version.

<X.Y>-driver<A.B.C>-r<N>/<X.Y.Z>-driver<A.B.C>-r<N>

Concrete N image revision tag of the concrete X.Y (or X.Y.Z) Firefox version with the concrete A.B.C geckodriver version.

Once built, it's never updated.

License

Firefox and geckodriver are licensed under Mozilla Public License 2.0.

As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).

As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.

The sources for producing instrumentisto/geckodriver Docker image are licensed under Blue Oak Model License 1.0.0.

Issues

We can't notice comments in the DockerHub (or other container registries) so don't use them for reporting issue or asking question.

If you have any problems with or questions about this image, please contact us through a GitHub issue.