How to run google chrome headless in docker?
Just launch chrome with --no-sandbox
that s resolves the problem
Using this image alpeware/chrome-headless-trunk
worked for me in ubuntu!The command used in that container to launch headless chrome is this:
/usr/bin/google-chrome-unstable \--disable-gpu --headless --no-sandbox \--remote-debugging-address=0.0.0.0 \--remote-debugging-port=9222 --user-data-dir=/data
here's a short video of the container in action
I launched the container in Ubuntu with this command:
docker run -it --rm -p=0.0.0.0:9222:9222 \ --name=chrome-headless \ -v /tmp/chromedata/:/data alpeware/chrome-headless-trunk
then used Chrome to connect to the debug port at localhost:9222
With some modifications you could probably get this running in Jenkins!
Sources
This article is exactly what I needed to run Karma tests with Headless Chrome inside docker:
https://hackernoon.com/running-karma-tests-with-headless-chrome-inside-docker-ae4aceb06ed3
Basically, the solution is to run Headless Chrome with the --no-sandbox
flag.