Skip to content

Latest commit

 

History

History
248 lines (165 loc) · 9.91 KB

File metadata and controls

248 lines (165 loc) · 9.91 KB

docker update

目次

説明

1つまたは複数コンテナの設定を 更新 <update> します。

使い方

$ docker update [OPTIONS] CONTAINER [CONTAINER...]

補足説明

docker update コマンドはコンテナの設定を動的に更新します。このコマンドを使えば、Docker ホスト上でコンテナが多くのリソースを消費するの防ぎます。コマンドを1度実行するだけで、1つまたは複数のコンテナに対して制限を設けられます。複数のコンテナを指定するには、コンテナ名か ID を空白(スペース)区切りで指定します。

--kernel-memory 値以外は、コンテナを実行中でも停止中でもオプションを指定できます。 --kernel-memory は停止したコンテナに対してのみ指定できます。停止したコンテナに対して docker update を実行したら、次のコンテナ再起動時に値が反映します。

Warning

Windows コンテナでは docker updatedocker container update はサポートしていません。

コマンドの使用例は、以下の 使用例のセクション <docker_update-examples> をご覧ください。

オプション

名前, 省略形 デフォルト 説明
--blkio-weight ブロック I/O ウエイト(相対値)を 10 ~ 1000 までの値でウエイトを設定(デフォルト 0)
--cpu-period CPU CFS (Completely Fair Scheduler) の間隔を設定
--cpu-quota CPU CFS (Completely Fair Scheduler) のクォータを設定
--cpu-rt-period 【API 1.25+】 CPU real-time period 制限をマイクロ秒で指定
--cpu-rt-runtime 【API 1.25+】 CPU real-time runtime 制限をマイクロ秒で指定
--cpu-shares , -c CPU 共有(相対値)
--cpus 【API 1.25+】 CPU 数
--cpuset-cpus 実行する CPU の割り当て(0-3, 0,1)
--cpuset-mems 実行するメモリ・ノード(MEM)の割り当て(0-3, 0,1)
--kernel-memory カーネル・メモリ上限
--memory , -m メモリ上限
--memory-reservation メモリのソフト上限
--memory-swap 整数値の指定はメモリにスワップ値を追加。 -1 は無制限スワップを有効化
--pids-limit コンテナの pids 制限を調整( -1 は無制限)
--restart コンテナ終了時に適用する再起動ポリシー

使用例

以下のセクションはコマンドの使い方を説明します。

コンテナの cpu-shares を更新

コンテナの CPU 共有上限を 512 に設定するには、まずコンテナ名か ID を確認します。 docker ps で値を確認できます。あるいは docker run コマンド実行時に ID を返すので、ここでも確認できます。それから次のように実行します。

$ docker update --cpu-shares 512 abebf7571666

コンテナの cpu-shares とメモリを更新

複数のコンテナに対して複数のリソースを更新します。

$ docker update --cpu-shares 512 -m 300M abebf7571666 hopeful_morse

コンテナのカーネル・メモリ制限は --kernel-memory オプションを使って更新できます。カーネルバージョン 4.6 よりも古ければ、 --kernel-memory でコンテナを起動したコンテナのみ、オプションで更新できます。 --kernel-memory を指定せずに起動したコンテナは、カーネルメモリを更新する前にコンテナの停止が必要です。

Note

--kernel-memory オプションは Docker 20.10 以降では非推奨になりました。

たとえば、コンテナを次のコマンドで実行したとします。

$ docker run -dit --name test --kernel-memory 50M ubuntu bash

実行中のコンテナはカーネルメモリを更新できます。

$ docker update --kernel-memory 80M test

コンテナの初期化時にカーネルメモリを指定せずに起動した場合は、こちらです。

$ docker run -dit --name test2 --memory 300M ubuntu bash

実行中のコンテナ test2 に対するカーネルメモリ更新は失敗します。 --kernel-memory 設定を更新する前に、コンテナの停止が必要です。コンテナを次に起動すると、コンテナは新しい値を使います。

カーネルバージョン 4.6 (以上)では、この制限はありません。他のオプションと同じように --kernel-memory を使えます。

コンテナの再起動ポリシーを更新

実行中のコンテナに対し、コンテナの再起動ポリシーを変更できます。新しい再起動ポリシーは、コンテナに対して docker update を実行後、直ちに反映されます。

1つまたは複数のコンテナに対する再起動ポリシーを更新します。。

$ docker update --restart=on-failure:3 abebf7571666 hopeful_morse

コンテナに --rm フラグを付けて起動した場合は、再起動ポリシーを変更できないため、注意が必要です。コンテナには AutoRemoveRestartPolicy を同時に指定できません。

親コマンド

コマンド 説明
docker <docker> Docker CLI の基本コマンド