What is Puppeteer?
Puppeteer is another headless Chrome library, this time maintained by the Chrome DevTools team.
You can play with it online here.
The api is here.
Examples are here.
I’ve created a Docker image of it so you can get playing with it.
The image is available on the Docker Hub:
docker pull dockerinpractice/docker-puppeteer
This is the annotated Dockerfile.
Running a Script
I’m demonstrating using the examples/pdf.js, which creates a pdf of the hackernews front page:
$ docker run -ti dockerinpractice/pupetteer puser@e4679fb3c9e1:~/node_modules/puppeteer/examples$ node pdf.js puser@e4679fb3c9e1:~/node_modules/puppeteer/examples$ ls -l hn.pdf -rw-r--r-- 1 puser puser 105097 Oct 14 14:18 hn.pdf puser@e4679fb3c9e1:~/node_modules/puppeteer/examples$ exit $ docker cp e4679fb3c9e1:/home/puser/node_modules/puppeteer/examples/hn.pdf . $ open hn.pdf
This implementation is still a little rough – if you can help make all the examples work, and remove the no-sandbox hack then let me know.
This is based on work in progress from the second edition of Docker in Practice