初期リソース制限付きコンテナの作成
このステップでは、Docker コンテナを作成し、CPU とメモリの初期リソース制限を設定する方法を学びます。リソース制限は、単一のコンテナがホストマシンの全リソースを消費するのを防ぐために重要であり、他のコンテナやホスト自体のパフォーマンスに影響を与える可能性があります。
まず、Docker Hub からubuntu
イメージをプルしましょう。このイメージをコンテナのベースとして使用します。
docker pull ubuntu:latest
イメージがプルされ、展開されることを示す出力が表示されるはずです。
次に、特定のリソース制限を設定したmy-limited-container
という名前のコンテナを作成します。docker run
コマンドに--cpus
と--memory
フラグを使用します。
--cpus
フラグは、コンテナが使用できる CPU リソースの量を制限します。値は CPU コア数を表す浮動小数点数です。例えば、--cpus 0.5
はコンテナが最大で CPU コアの半分を使用できることを意味します。
--memory
フラグは、コンテナが使用できるメモリ量を制限します。値はバイト、キロバイト (k)、メガバイト (m)、またはギガバイト (g) で指定できます。例えば、--memory 512m
はコンテナのメモリ使用量を 512 メガバイトに制限します。
この例では、sleep infinity
コマンドを実行するコンテナを作成します。このコマンドはコンテナを無期限に実行し続けます。CPU 使用量を 0.5 コア、メモリを 256 メガバイトに制限します。
docker run -d --name my-limited-container --cpus 0.5 --memory 256m ubuntu:latest sleep infinity
コマンドの詳細を説明します:
docker run
: 新しいコンテナを作成して起動するコマンド
-d
: コンテナをバックグラウンドで実行するデタッチドモードのフラグ
--name my-limited-container
: コンテナにmy-limited-container
という名前を割り当て
--cpus 0.5
: コンテナの CPU 使用量を 0.5 コアに制限
--memory 256m
: コンテナのメモリ使用量を 256 メガバイトに制限
ubuntu:latest
: 使用する Docker イメージ (最新版の Ubuntu)
sleep infinity
: コンテナ内で実行されるコマンド。コンテナを実行状態に保つ
コマンド実行後、Docker はコンテナ ID を出力します。
コンテナが実行中でリソース制限が適用されていることを確認するには、docker inspect
コマンドを使用します。このコマンドはコンテナの詳細情報を提供します。
docker inspect my-limited-container
docker inspect
の出力は大きな JSON オブジェクトです。HostConfig
セクション内のCpuShares
とMemory
フィールドを確認して、適用された制限を確認できます。--cpus 0.5
はデフォルトでCpuShares
値 512 に変換されます (1CPU=1024 シェア)。Memory
値はバイト単位で表示されます。