12

HPC Unix クラスターで使用する科学アプリケーションを分離するために Docker を使用したいと考えています。科学的なソフトウェアにはしばしば特殊な依存関係があるため、Docker でそれらを分離することは良い考えのようです。プログラムは、サービスとしてではなく、ジョブとして実行されます。

複数のユーザーに Docker を使用してもらいたいのですが、ユーザーは互いに分離する必要があります。これは可能ですか?

Docker のローカル インストールを実行し、docker グループに 2 人のユーザーを配置しました。への呼び出しdocker imagesは、両方のユーザーに同じ結果を示しました。

さらに、ジョブは root としてではなく、呼び出し元のユーザーの UID で実行する必要があります。

そのような設定は実現可能ですか?以前に行われたことがありますか?これはどこかに文書化されていますか?

4

5 に答える 5

4

DinD (Docker in Docker) を忘れないでください。jpetazzo/dind

ユーザーごとに 1 つの Docker 専用にすることができ、それらの Docker コンテナーの 1 つ内で、ユーザーは Docker コンテナーでジョブを起動できます。

于 2015-04-27T11:48:16.090 に答える
1

同様の理由で、Docker でのこの可能性にも興味があります。私が考えることができるいくつかの問題があります:

  1. Docker Daemon は root として実行され、docker グループ内のすべてのユーザーに有効なホスト root 権限を提供します (例: host / dir を root としてマウントすることで権限をリークします)。
  2. 前述のマルチユーザー分離
  3. これが既存のロードバランサーとどの程度うまく機能するかわかりませんか?

一見の価値があり、部分的に解決する可能性のある Shifter に出くわしました #1: http://www.nersc.gov/research-and-development/user-defined-images/

また、カーネル ユーザーの名前空間を使用して、container:root --> host:non-privileged user のマッピングを提供するという議論があることも知っていますが、これが起こっているかどうかはわかりません。

于 2015-06-10T11:26:29.740 に答える