markhobson/maven-chrome
April 24, 2026 ยท View on GitHub
Docker image for Java automated UI tests.
Includes:
- JDK 11/17/21/25
- Maven 3.9.15
- Chrome 147.0.7727.116
- ChromeDriver 147.0.7727.116
Available on Docker Hub.
Tags
The following Docker tags are available:
jdk-11(jdk-11/Dockerfile)jdk-17(jdk-17/Dockerfile)jdk-21(jdk-21/Dockerfile)jdk-25,latest(jdk-25/Dockerfile)
Demo
See the demo Maven project to see how this Docker image can be used to run UI tests. To run the demo within the latest version of this image on Docker Hub:
cd demo
./run.sh
Building
To build and test the Docker images locally, install Bats and run:
./build.sh
Maintaining
To upgrade the Docker images to use the latest version of Chrome, install dctrl-tools and run:
./upgrade.sh chrome
To upgrade the Docker images to use the latest version of ChromeDriver:
./upgrade.sh chromedriver
Note that both of these scripts will also commit to Git.
Tips
Using with Selenium
Configure Selenium to launch Chrome in headless mode:
ChromeOptions options = new ChromeOptions().addArguments("--headless=new");
WebDriver driver = new ChromeDriver(options);
Configure Protractor to use bundled ChromeDriver
To configure Protractor to use the version of ChromeDriver bundled in this image, set chromeDriver in Protractor's conf.js file:
exports.config = {
chromeDriver: '/usr/bin/chromedriver'
}
Chrome crashes
Chrome uses /dev/shm for runtime data which is 64MB by default under Docker. If this is not sufficient then this can cause Chrome to crash. Possible workarounds:
- Increase the size of
/dev/shm - Mount
/dev/shmto the host's - Start Chrome with the flag
--disable-dev-shm-usage