在容器内运行 Chromium:libGl 错误
Posted
技术标签:
【中文标题】在容器内运行 Chromium:libGl 错误【英文标题】:Run Chromium inside container: libGl error 【发布时间】:2017-02-24 12:25:15 【问题描述】:我正在尝试在 docker 容器中运行 Chromium。 这是我得到的输出:
Created new window in existing browser session.
libGL error: failed to open drm device: No such file or directory
libGL error: failed to load driver: vmwgfx
我在互联网上搜索了很多关于此问题的信息,但找不到任何明确的信息。你对我该如何解决这个问题有什么建议吗?
提前谢谢你。
【问题讨论】:
我发现了一个 Git 问题,提示问题可能是您需要为 docker 容器启用硬件加速。看看本指南是否有帮助:wiki.ros.org/docker/Tutorials/Hardware%20Acceleration 可能与您的问题无关,但您可能对headless-chrome感兴趣。 【参考方案1】:正如 Mark Wragg 在评论中所写; this guide from wiki.ros.org is pretty good
您似乎缺少 vmwgfx GL 驱动程序,在 mesa3d.org 您可以查看如何安装它们。
我自己在安装完所有驱动后遇到了这个问题,但后来我发现我还需要将显卡安装到 docker 容器中。对于使用
制造的英特尔卡docker run --device=/dev/dri:/dev/dri ...
对于其他显卡,我推荐wiki.ros.org的指南
【讨论】:
或者干脆docker run --device=/dev/dri
【参考方案2】:
如果是为了隔离,您可以通过使用 --user-data-dir= 选项运行尽可能不相关的 Chromium 实例来实现几乎相似的效果:
chromium-browser --user-data-dir=/tmp/chrome1
或者
chromium-browser --user-data-dir=`mktemp` &
chromium-browser --user-data-dir=`mktemp` &
chromium-browser --user-data-dir=`mktemp` &
与 Chrome 中的安全性和隔离性相比,docker 带来的额外隔离是微不足道的。
【讨论】:
以上是关于在容器内运行 Chromium:libGl 错误的主要内容,如果未能解决你的问题,请参考以下文章
StackString的Chromium堆栈容器无法工作(至少在Visual C ++中)
Fedora 19 使用 rpmfussion 的 NVIDIA 驱动程序:libGL 错误:加载驱动程序失败:swrast
android studio emulator libGl错误