我试图以非root用户身份在docker容器中运行google-chrome --headless以执行一些测试。我每次尝试启动它时,都会引发以下错误:
谷歌浏览器--headless
无法移动到新的名称空间:支持PID名称空间,支持网络名称空间,但失败:errno =不允许的操作无法生成minidump.Illegal指令
它是在k8s集群中运行的docker容器。操作系统是Ubuntu 16.04。
命名空间已启用,用户为非root用户
我不想使用--no-sandbox选项,因为这是一个安全问题。
我不能使用docker run --security-opt = syscomp:unconfined作为通过头盔部署的方式。
是否需要在容器本身内为Chrome设置系统权限?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在广泛研究互联网之后,我想我找到了答案:
沙箱 出于安全原因,当Google Chrome在基于容器的环境中运行时,无法提供沙箱。要在基于容器的环境中使用Chrome,请将--no-sandbox标志传递给chrome可执行文件
因此,对于我来说,似乎没有比--no-sandbox更好的解决方案了,尽管它不是很安全,但是互联网上有人声称使用“ --no-sandbox”仍然可以安全运行在容器内,可以采取任何额外的保护措施