Selenoid Docker Images
How images are built
Each image consists of 3 or 4 layers:
- Base layer - contains stuff needed in every image: Xvfb, fonts, cursor blinking fix, timezone definition and so on. This layer is always built manually.
- Optional Java layer - contains latest Java Runtime Environment. Only needed for old Firefox versions incompatible with Geckodriver. This layer is always built manually.
- Browser layer - contains browser binary. We create two versions: with APT cache and without it. The latter is then used to add driver layer.
- Driver layer - contains either respective web driver binary or corresponding Selenium server version.
Building procedure is automated with shell scripts
selenium/build.sh that generate Dockerfile and then create browser and driver layers respectively. Before push each image is tested with these tests.