web-dev-qa-db-ja.com

google-chrome新しい名前空間への移動に失敗しました

私はいくつかのテストを実行するためにgoogle-chrome --headlessを非rootユーザーとしてdockerコンテナー内で実行しようとしています。それを開始しようとするたびに、次のエラーがスローされます:

google-chrome --headless

新しい名前空間に移動できませんでした:PID名前空間はサポートされていますが、ネットワーク名前空間はサポートされていますが失敗しました:errno =操作は許可されていませんminidump.Illegal命令の生成に失敗しました

K8sクラスターで実行されるそのDockerコンテナー。オペレーティングシステムはUbuntu 16.04です。

名前空間が有効になっていて、ユーザーはroot以外です

これはセキュリティ上の問題であるため、-no-sandboxオプションを使用したくありません。

Helmを使用してデプロイされているため、docker run --security-opt = syscomp:unconfinedを使用できません。

コンテナ自体の中でchromeを設定する必要があるシステム権限がないのですか?

2
novak100

インターネットを広範囲に調査した後、私は答えを見つけたと思います:

サンドボックスセキュリティ上の理由から、Google Chromeはコンテナベースの環境で実行されている場合、サンドボックスを提供できません。使用するにはChromeコンテナベースの環境では、-no-sandboxフラグをChrome実行可能ファイルに渡します

したがって、私にとって--no-sandboxよりも優れたソリューションはないようです。非常に安全ではありませんが、実行時に "--no-sandbox"を使用しても安全であるとインターネット上で主張する人々がいますコンテナ内で保護されています。

2
novak100