Docker中部署puppeteer导出pdf
最近在做puppeteer容器化的过程中发现问题。
-
在容器中npm install puppeteer仍然会报错,不能launch
随后错误提示中也给出了官方的文档,https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md
翻阅了官方问题后,发现官方其实提供了puppeteer的docker化解决方案,即https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md#running-on-alpine
不过该镜像制作如果网速不好,时间会很长,所以我制作了个基础镜像 shadow88sky/chrmoe:v1。 下次容器化代码的时候可以用此镜像。例如:
注意,要加上红色框出的即可,因为解决方案中是要有pptruser这个用户权限的。
这样就完成了整个docker容器话的工作。
2.导出的pdf文件内容出现乱码
原因是官方解决方案中基础镜像中没有中文字体导致。
大家可以下载字体,在容器启动的时候,已volume挂载的方式,将字体挂载到容器的/usr/share/fonts目录
例如: -v /Users/chenxu/Desktop/fonts:/usr/share/fonts
:前面是宿主机的工作目录,后面是容器的字体目录。
宿主目录里面如上图所示,包含宋体。 这样就解决了pdf导出 中文乱码的问题啦。
当然,大家也可直接修改镜像,直接安装中文字体即可