google Cloud Run(node.js)でpuppeteerを動かしたい
題名の通り、google Cloud Run(node.js)でpuppeteerを動かしたいのですが、
下記ファイルをデプロイ後、ログにて以下のブラウザ起動エラーが出ます。
(node:1) UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!
緑のチェックマークがでているので、デプロイ自体は間違っていないと思うのですが...
メモリは2GBでデプロイしてます。
また、以下を提案されたので、dockerでのデプロイを参考にしましたが、いまのところ起動に至ってないです。
TROUBLESHOOTING: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md
解決策をご存知の方はいらっしゃいませんでしょうか?
dockerfile
FROM node:10
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install --only=production
COPY . .
EXPOSE 8080
CMD [ "node", "index.js" ]
index.js
const express = require('express');
const puppeteer = require('puppeteer');
const app = express();
app.use(async (req, res) => {
const browser = await puppeteer.launch({});
const page = await browser.newPage();
await page.goto('https://www.google.com/');
browser.close();
});
const server = app.listen(process.env.PORT || 8080, err => {
if (err) return console.error(err);
const port = server.address().port;
console.info(`App listening on port ${port}`);
});
package.json
{
"scripts": {
"start": "node index.js"
},
"dependencies": {
"express": "^4.17.1",
"puppeteer": "^2.0.0"
}
}