docker 打包puppeteer镜像运行报错,请问大佬如何解决?-灵析社区

复古直男

看你 `Dockerfile` 文件中,并没有安装报错行所提到的依赖库 `libgobject`。 经查询 `node:slim` 的上层是基于 `debian`,故查询到的库: [https://packages.debian.org/search?suite=buster&arch=i386&mod...](https://link.segmentfault.com/?enc=KHdZN8TGlgly9NytGnbx1g%3D%3D.d0x7dJzsWytZp%2B3BvkCLBu8r1TGT2A9diZA61l1szrkq7TX6WGqe45Yn6H%2F%2BCtiAkV%2F4taewd1Gxt6YJYKABVUEtjvIA%2FYfv48q2cWaV7zdQarkab%2BhLn%2F6zM9Pu2oyKOurGL1VpItP4FGeDgO1IpFsGhXTO40PE5uRe9B2Xkqc%3D) 你定位一下是否已安装此库 locate libgobject-2.0.so 若已存在,显示,比如 /usr/lib/x86_64-linux-gnu/libgobject-2.0.a /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4800.2 可以 export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH # 即在 Dockerfile 中添加此环境变量,如 RUN export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH 若不存在,则按上面所给出的 debian 库链接,安装对应系统版本的依赖库`libglib`。再重复上述步骤。 * * * 经测,确实为 `debian` 源镜像。 ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250105/1d95339e3efcce32d7949b8b2e454911.png) ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250105/b63a0d2ae91cd04ef1a6d1001a87c6c4.png) 1. 在 `RUN node ...` 上一行添加下述内容: RUN apt update && apt install libglib2.0-0 2. 若还不行,则需要更新 `db`,即在上一行添加下述内容: RUN apt install locate && updatedb 3. 若还不行,则按我之前所说的,再加一行: RUN export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH 或者像另一个答案的,加在 `node` 前: RUN LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH node ... 尝试四次看看: 1. 先按步骤 1 2. 再按 1 + 3 3. 再按 1 + 2 4. 再按 1 + 2 + 3 另外,建议下次直接贴 `Dockerfile` 内容。

阅读量:1

点赞量:0

问AI