gpt4 book ai didi

google-chrome - 如何在 docker 中 headless 运行谷歌浏览器?

转载 作者:IT老高 更新时间:2023-10-28 12:35:34 34 4
gpt4 key购买 nike

我的问题是如何在 docker 容器中运行 google chrome 进行 e2e 测试。我从官方 Jenkins 镜像创建了一个 Dockerfile,但是当尝试运行 google chrome 时,它​​崩溃并显示错误:

Failed to move to new namespace: PID namespaces supported, Network namespace supported, but failed: errno = Operation not permitted
Trace/breakpoint trap (core dumped)

Jenkins docker 镜像使用 Debian jessie

我可以使用 --headless 标志运行 google chrome,并且不需要 X 服务器。

这是我的 docker 文件:

Jenkins 官方图片:

一个人使用 docker 的 GUI 运行 google chrome 的 repo:

我的第一种方法是使用xvbf,但是使用--headless标志时过程更简单。

我可以在 Ubuntu 服务器中使用相同的安装命令运行 chrome,但在 docker 中它会失败。

在其他意图之后,我使用了 --no-sandbox 标志,但 docker images 显示下一个错误。

[0427/180929.595479:WARNING:audio_manager.cc(295)] Multiple instances of AudioManager detected
[0427/180929.595537:WARNING:audio_manager.cc(254)] Multiple instances of AudioManager detected
libudev: udev_has_devtmpfs: name_to_handle_at on /dev: Operation not permitted

实际上我运行了这个命令:

google-chrome-stable --headless --disable-gpu --no-sandbox http://www.google.com

最佳答案

只需使用 --no-sandbox 启动 chrome 即可解决问题

关于google-chrome - 如何在 docker 中 headless 运行谷歌浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43665276/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com