linux - google-chrome 无法移动到新的命名空间
问题描述
我试图以非 root 用户身份在 docker 容器内运行 google-chrome --headless 以执行一些测试。每次我尝试启动它时,它都会引发以下错误:
谷歌浏览器——无头
无法移动到新命名空间:支持 PID 命名空间,支持网络命名空间,但失败:errno = 不允许操作 无法生成 minidump。非法指令
它是一个运行在 k8s 集群中的 docker 容器。操作系统是 Ubuntu 16.04。
命名空间已启用,用户是非 root
我不想使用 --no-sandbox 选项,因为这是一个安全问题。
我不能使用 docker run --security-opt=syscomp:unconfined 因为它是使用 helm 部署的。
是否缺少我需要在容器本身中为 chrome 设置的系统权限?
解决方案
在广泛研究互联网后,我想我找到了答案:
沙盒 出于安全原因,Google Chrome 在基于容器的环境中运行时无法提供沙盒。要在基于容器的环境中使用 Chrome,请将 --no-sandbox 标志传递给 chrome 可执行文件
所以看起来没有比 --no-sandbox 更好的解决方案了在以任何方式受到额外保护的容器内。
推荐阅读
- c - C字符串递归堆栈复制或......?
- r - 使用 R 在图像文件中写入评论(元数据)
- spring-boot - 对于名称更复杂的 Spring Boot Starter,是否有命名建议?
- pandas - 熊猫根据另一列替换值条件
- python - SyntaxError:由于命令指令导致的 EOL 错误
- robocopy - robocopy 提供不相等数量的目录但相同数量的文件?
- ios12 - How Do I Hit Test A SubView's Layers?
- javascript - 获取包含天数的数组
- python-3.x - Spacy 中是否有双克或三克功能?
- javascript - 为什么许多标准内置对象实际上是函数时称为对象?