Public | Automated Build

Last pushed: 6 days ago
Short Description
Short description is empty for this repo.
Full Description

Docker container for creating a ChromeDriver server

Includes

  • ChromeDriver (Latest)
  • Google Chrome (Latest Stable)

Building the Docker Image

You can build the image by either building from GitHub or cloning the repository.

To build from GitHub:

docker build -t "robcherry/docker-chromedriver:latest" github.com/robcherry/docker-chromedriver

If you choose to clone the repository locally, cd in to the repository's root directory and run:

docker build -t "robcherry/docker-chromedriver:local" .

You can also pull the final built image from docker:

docker pull robcherry/docker-chromedriver:latest

Usage

The most basic usage is to run the container and expose the ChromeDriver port on all interfaces.

docker run --name chromedriver -P -d robcherry/docker-chromedriver:latest

If you want to restrict the ports to your local environment, you can do so using -p.

docker run --name chromedriver -p 127.0.0.1::4444 robcherry/docker-chromedriver:latest

Note: ChromeDriver restricts access to local connections by default. To allow external connections, you can pass in a custom CHROMEDRIVER_WHITELISTED_IPS environment variable. By default, this is set to 127.0.0.1, but this can by any comma separated list of IP addresses. Setting the value as empty will allow all remote connections.

docker run --name chromedriver -p 127.0.0.1::4444 -e CHROMEDRIVER_WHITELISTED_IPS='' robcherry/docker-chromedriver:latest
Docker Pull Command
Owner
robcherry
Source Repository

Comments (5)
alexmark87
a month ago

Integration with Laravel, PHP framework

https://github.com/aleksmark/laravel-codeception-chromedriver

alexmark87
a month ago

Works great. Thank you

docker-composer config for running as a remote server

  chromedriver:
    image: robcherry/docker-chromedriver
    container_name: "chromedriver"
  environment:
    CHROMEDRIVER_WHITELISTED_IPS: ""
    CHROMEDRIVER_URL_BASE: "/wd/hub"
  security_opt:
    - seccomp:unconfined

Without seccomp:unconfined chrome is unable to start

Error

unknown error: Chrome failed to start: crashed
(Driver info: chromedriver=2.31.488763 (092de99f48a300323ecf8c2a4e2e7cab51de5ba8),platform=Linux 4.4.0-92-generic x86_64)

Error (when tries to run chrome from inside of the container)

Failed to move to new namespace: PID namespaces supported, Network namespace supported, but failed: errno = Operation not permitted
Trace/breakpoint trap (core dumped)
samir42
3 months ago

This is great! Works like a charm. The cap-add argument was definitely necessary. To run it in GKE/kubernetes, you need to add the cap arg as a securityContext:

      #Added sys_admin capability for chrome to launch
      securityContext:
        capabilities:
          add: ["SYS_ADMIN"]
andresvia
3 months ago

google chrome won't start without docker run --cap-add=SYS_ADMIN check https://github.com/jessfraz/dockerfiles/issues/65

kore666
a year ago

Nice job, dude! It saved a lot of my time. Works out of the box without any problems.