Docker中部署puppeteer导出pdf

 

 

 

 

最近在做puppeteer容器化的过程中发现问题。

  1. 在容器中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导出 中文乱码的问题啦。

当然,大家也可直接修改镜像,直接安装中文字体即可

posted @ 2019-06-14 10:00  半岛弥情  阅读(2044)  评论(0编辑  收藏  举报