2017-05-17 9 views
0

ドッキング・コンテナーの場合、docker runにCPU制限(例:--cpu-quota--cpu-shares)とメモリー制限(--memory)を設定できます。 --ulimitを使用して、ユーザーの制限をグローバルnprocに設定することもできます。個々のユーザー用のドッキング・コンテナーのリソースを制限する

ひとつのコンテナで2人の異なるユーザーがワークロードを実行しているとします。 1つの特定のドッカーコンテナ(システムグローバルではない)の中だけで個々のユーザの制限を設定する方法はありますか?

例えば、--ulimit nproc=100では、ユーザーがドッカーコンテナ内で最大n個のプロセスを正確に実行できるように指定することはできません。たとえば、ユーザーがすでにコンテナの外に40のプロセスを実行している場合、コンテナの内部で60のプロセスを実行できます。 ulimit nproc=40を設定し、40プロセスがコンテナの外部で実行される場合、コンテナ内で新しいプロセスを開始することはできません。

私は個々のドッカーコンテナ(これらの制限のない他のドッカーコンテナが同じシステム上で実行されている場合でも)に対してユーザー、単位、CPU、メモリ、プロセス番号制限を適用する方法を探しています。各ユーザーのドッカーコンテナの起動はオプションではありません。

答えて

0

あなたは、たとえば、同じMYIMAGEを使用して2つの貴様のコマンドを起動することができ

docker run -u user1 --cpu-shares=12... myimage

docker run -u user2 --cpu-shares=24...myimage

あなただけのイメージの作成時に2人のユーザーを作成する必要が

これがあなたの質問に答えるかどうかわからない

+0

これは2つのコンテナを開始します。私のシナリオでは、1つのコンテナに複数のユーザーがいます。 –

関連する問題