armbues / chrome-headless

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Headless Google Chrome

This docker image uses the Google Chrome stable channel that introduced headless execution with version 59.

There are currently two feasible options to run Chrome inside Docker:

  • Specify a Docker security profile that allows the Chrome sandbox (docker run --security-opt seccomp=chrome.json)
    • Jess Frazelle (@jessfraz) has created such a profile for Chrome
  • Disable the Chrome sandbox (google-chrome --no-sandbox)
    • This lowers the security of Chrome and is not recommended when browsing untrusted web content

Examples

Security Profile

Download @jessfraz Docker security profile for Chrome:

wget https://raw.githubusercontent.com/jessfraz/dotfiles/master/etc/docker/seccomp/chrome.json

Browse to Google and save a screenshot to the current directory:

docker run --rm --security-opt seccomp=chrome.json -v $PWD:/data armbues/chrome-headless --screenshot http://www.google.com

Start Chrome with the remote debugging port running on 9222 and map it to the host:

docker run --rm -d --security-opt seccomp=chrome.json -p 9222:9222 armbues/chrome-headless --remote-debugging-address=0.0.0.0 --remote-debugging-port=9222

Disabled Chrome sandbox

Browse to Google and save a screenshot to the current directory:

docker run --rm -v $PWD:/data armbues/chrome-headless --no-sandbox --screenshot http://www.google.com

Start Chrome with the remote debugging port running on 9222 and map it to the host:

docker run --rm -d -p 9222:9222 armbues/chrome-headless --no-sandbox --remote-debugging-address=0.0.0.0 --remote-debugging-port=9222

About


Languages

Language:Dockerfile 93.8%Language:Makefile 6.2%