新しいことにはウェルカム

技術 | 電子工作 | ガジェット | ゲーム のメモ書き

Dockerのpuppeteerが突然動かなくなった

普段Webのクローリングにpuppeteerを使っていて、puppeteerの実行はDockerで行っています。

クロール項目を追加することがあって、プログラムを修正してDockerでビルドして実行したところ、下記のようなエラーが出て動きませんでした。

/node_modules/puppeteer/.local-chromium/linux-768783/chrome-linux/chrome: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md

つい先日ビルドした時には問題なかったのに、突然「libXss.so.1」が無いと言われても…。

解決方法

結論から言うと、下記記事に解決方法が載っていました。

github.com

Dockerfileは下記公式情報を参考に作成していました。

github.com

しかし、記事には「google-chrome-unstable」をインストールするよう記載されていて、これまでは「libXss.so.1」も一緒にインストールされるようになっていたのですが、それがインストールされないようになったようで、代わりに「google-chrome-stable」をインストールするようにすると動くようになりました。

また、「libXss.so.1」は「libxss1」に含まれるので、「google-chrome-unstable」をインストールする前に下記をDockerfileに追加しても動くようになります。

RUN apt-get update && apt-get install libxss1

感想など

puppeteerのDockerでの動かし方を調べると、前述の公式の情報に行き着くので、結構ハマるのでは…。

そもそも「unstable」版をインストールするのがちょっと微妙だったので、不具合治ったとしても「stable」版をインストールのままで行こうと思います。

puppeteerはバージョン1、Node.jsのバージョン8の時から使っているのですが、恥ずかしながらバージョンアップはしないで使い続けていました。

以前バージョンアップを試したところ、エラー出まくりで、必要になったら対応しようと放置したのですが、ついにバージョンアップしないといけなくなったのかと、めちゃめちゃ焦りました…。

これに懲りて、時間見つけてバージョンアップするかなぁ。

関連カテゴリー(Docker)記事

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com