ドッキング・コンテナーの場合、docker run
にCPU制限(例:--cpu-quota
--cpu-shares
)とメモリー制限(--memory
)を設定できます。 --ulimit
を使用して、ユーザーの制限をグローバルnproc
に設定することもできます。個々のユーザー用のドッキング・コンテナーのリソースを制限する
ひとつのコンテナで2人の異なるユーザーがワークロードを実行しているとします。 1つの特定のドッカーコンテナ(システムグローバルではない)の中だけで個々のユーザの制限を設定する方法はありますか?
例えば、--ulimit nproc=100
では、ユーザーがドッカーコンテナ内で最大n個のプロセスを正確に実行できるように指定することはできません。たとえば、ユーザーがすでにコンテナの外に40のプロセスを実行している場合、コンテナの内部で60のプロセスを実行できます。 ulimit nproc=40
を設定し、40プロセスがコンテナの外部で実行される場合、コンテナ内で新しいプロセスを開始することはできません。
私は個々のドッカーコンテナ(これらの制限のない他のドッカーコンテナが同じシステム上で実行されている場合でも)に対してユーザー、単位、CPU、メモリ、プロセス番号制限を適用する方法を探しています。各ユーザーのドッカーコンテナの起動はオプションではありません。
これは2つのコンテナを開始します。私のシナリオでは、1つのコンテナに複数のユーザーがいます。 –