This is a Dockerfile to create a Webdriver Docker image with ChromeDriver and Google Chrome.
The blueimp/chromedriver
image starts a chromedriver
server on port 4444
,
which runs Webdriver tests with Google Chrome in a virtual X Window System.
Sample docker-compose configuration:
version: "3.7"
services:
chromedriver:
image: blueimp/chromedriver
# Mount the /tmp partition as tmpfs:
tmpfs: /tmp
environment:
# Enable the VNC server:
- ENABLE_VNC=true
# Expose the X Window Server via TCP:
- EXPOSE_X11=true
volumes:
# Mount the host ./assets directory into the container:
- ./assets:/home/webdriver/assets:ro
ports:
# Expose the VNC server on port 5900 on localhost:
- 127.0.0.1:5900:5900
Please have a look at the blueimp/wdio project for a complete configuration example.
For any critical infrastructure (e.g. your company's Continuous Integration
tests) it is strongly recommended to use your own tagged Docker images
instead of blueimp/chromedriver
directly, as changes in the included Software
(see e.g.
ChromeDriver issue #3857)
might break your tests inadvertently. For example:
version: "3.7"
services:
chromedriver:
image: YOUR_ORG/chromedriver:2021-09-27
# ...
For full control, you should also set up a build for your own version of
blueimp/basedriver and edit the parent
image reference at the start of the Dockerfile
in this repository accordingly,
e.g.:
FROM YOUR_ORG/basedriver:2021-09-27
docker buildx build --platform linux/amd64,linux/arm64 --no-cache --push -t ghcr.io/atta-1/chromedriver:bookworm .
The following software is included in the blueimp/chromedriver
image:
- blueimp/basedriver (base image)
- ChromeDriver (latest)
- Google Chrome (latest)
The blueimp/chromedriver image provided on Docker hub will be occasionally updated to incorporate changes in the blueimp/basedriver image as well as to upgrade to the latest versions of ChromeDriver and Google Chrome.
See blueimp/basedriver configuration.
Released under the MIT license.