Selenium hub switched to using Supervisord for managing services as of 3.14.0-francium. The user the Supervisord process runs under needs to be a member of the 'tty' group to have the required access to start.
Build the image to add the seluser to the tty group before supervisord starts. Below is an example of how to do this.
- Create a text file named exactly Dockerfile with the following text.
FROM selenium/hub:3.14.0
RUN sudo usermod -a -G tty seluser
- Build a new container using the Dockerfile. Use a local docker-engine like that comes with the photon VM dch-photon build node. Example build command would look like the following on a local docker-engine:
docker build -t customhub .
- Tag the image for the registry to push the image to. The following example assumes the VIC registry is being used.
docker tag customhub:latest vicappliance00.gsslabs.org/default-project/customhub:3.14.0
- Login to the registry and push the image. Again the example assumes a private VIC registry is being used, but docker hub can be used if preferred.
docker push vicappliance00.gsslabs.org/default-project/customhub:3.14.0
Now the new image can be pulled to the VCH and used normally. Note to specify the "seluser" user when create/running the container.
Workaround:
Run the container as root user by specifying root in the container create.
Docker Compose Reference Docker Client Reference