google-chrome 无法移动到新的命名空间

Posted

技术标签:

【中文标题】google-chrome 无法移动到新的命名空间【英文标题】:google-chrome Failed to move to new namespace 【发布时间】:2020-03-24 00:18:48 【问题描述】:

我试图以非 root 用户身份在 docker 容器内运行 google-chrome --headless 以执行一些测试。 每次我试图启动它时,它都会抛出以下错误:

google-chrome --headless

无法移动到新命名空间:支持 PID 命名空间,支持网络命名空间,但失败:errno = 不允许操作 生成minidump失败。非法指令

它是一个运行在 k8s 集群中的 docker 容器。 操作系统为 Ubuntu 16.04。

命名空间已启用,用户不是 root

我不想使用 --no-sandbox 选项,因为这是一个安全问题。

我不能使用 docker run --security-opt=syscomp:unconfined 因为它正在使用 helm 进行部署。

是否缺少我需要在容器本身中为 chrome 设置的系统权限?

【问题讨论】:

【参考方案1】:

虽然这不能回答你的问题,因为你不能设置security-opt,这对于其他有类似问题的人来说仍然是一个很好的解决方案。

下载此chrome.json 文件,其中包含自定义安全配置文件。

将安全配置文件与 --security-opt seccomp=path/to/chrome.json 或 docker-compose 一起使用:

# docker-compose.yml
version: '3'
services:
  <service name>:
    #
    # the service configuration
    #
    security_opt:
      - seccomp=<path to downloaded chrome.json>

见https://***.com/a/53975412/8678740

【讨论】:

【参考方案2】:

在广泛研究互联网后,我想我找到了答案:

沙盒 出于安全原因,Google Chrome 在基于容器的环境中运行时无法提供沙盒。 要在基于容器的环境中使用 Chrome,请将 --no-sandbox 标志传递给 chrome 可执行文件

所以看起来没有比 --no-sandbox 更好的解决方案了因为它在容器内运行,任何方式都受到额外保护。

【讨论】:

如果你需要我找到方法,请看***.com/questions/62345581/…

以上是关于google-chrome 无法移动到新的命名空间的主要内容,如果未能解决你的问题,请参考以下文章

Windows 7 上的 WCF 服务 URL ACL:您的进程没有对此命名空间的访问权限

无法在新的CCW独立安装中创建Clojure项目或命名空间

尝试将 mamp 移动到新的 mac

将自己文件夹中的松散文件批量复制到新的重命名文件夹

ruby复制文件夹到新的重命名的文件夹

仅将某些更改列表移动到新的 SVN 服务器