This is a docker image that wraps headless Chrome, as well as chrome-headless-screenshots for cross platform relatively hi-fidelity screenshots of web pages.
This is not a lightweight method of taking a screenshot.
docker build -t tonious/chromeshot .docker run --rm -it --security-opt seccomp=~/seccomp/chrome.json -v $(pwd):/output tonious/chromeshot --url="https://github.com/tonious/" --full --delay=3000 --output=/output/output.pngThe output path of the screenshot is inside the docker container. If you would like that image to be saved outside of the container, you need to mount it as a volume.
Also, to run Chrome cleanly, you must either give the container --cap-add=SYS_ADMIN (not good) or a valid seccomp profile (better).
chromeshot.sh hides some of the complexity of running the docker container:
- It passes in a seccomp configuration.
- It mounts the appropriate target directory into the vm.
usage: ./chromeshot.sh [ -d DELAY ] [ -o OUTFILE ] [ -x WIDTH ] [ -y HEIGHT ] URL
Take a screenshot of a website using headless Chrome and docker.