最近在做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導出 中文亂碼的問題啦。
當然,大家也可直接修改鏡像,直接安裝中文字體即可