48

Docker が LXC に基づいているという事実に基づく私の理解では、Docker コンテナーはホスト オペレーティング システムからさまざまなリソースを共有するということです。私の懸念はCPUコアにあります。シナリオは次のとおりです。

  • ホストの Linux OS には 8 つのコアがあります
  • 上記のホスト OS に一連の Docker コンテナーをデプロイする必要があります。
  • 展開する必要がある docker コンテナーのいくつかは、2 つのコアを使用する方が適しています。

a) したがって、そのホストですべての docker コンテナーを実行すると、そのホスト OS で通常のインストール済みアプリケーションとして実行されている場合のように、必要に応じて CPU/コアを消費しますか?

b) docker コンテナーは独自のプロセスを消費し、それに含まれるすべての処理はその親プロセスの CPU コアに固定されますか?

c) 多数のコア (たとえば 4) を使用するように Docker コンテナを指定するにはどうすればよいですか。コア ID を指すことができる -C フラグがあることを確認しましたが、コンテナーを指定して N 個のコアをランダムに選択するオプションはないようです。

4

4 に答える 4

7

最新の(少数の)バージョンで変更された可能性があります。docker run最近では、次の パラメーターを使用しdocker run ubuntu /bin/echo 'Hello world --cpuset-cpus="0-3" てdocker コンテナーを制約できます。同じセット。おそらくより良い方法は、CPU シェアを使用することです。

詳細については、https://docs.docker.com/engine/reference/run/を参照してください。

于 2016-08-09T13:38:48.820 に答える