docker update の使い方

動いているコンテナの設定を変える

書き方

docker update --memory 256m コンテナ
docker update --cpus 0.5 コンテナ
docker update --restart unless-stopped コンテナ

作り直さずに、メモリ・CPU の上限と再起動の方針を変えます。ポートや環境変数は変えられないので、それは作り直します。

よく使うオプション

オプション意味
-m / --memory 量メモリの上限(256m・1g など)
--memory-swap 量メモリとスワップを合わせた上限
--cpus 数使える CPU の量(0.5 で半分)
--restart 方針再起動の方針を変える(no・on-failure・always・unless-stopped)
--pids-limit 数コンテナの中で動かせるプロセスの数の上限

例

$ docker update --restart unless-stopped webweb

作り直さずに、サーバーを再起動したときにも web が自動で起動するようにします。

$ docker update --memory 512m --memory-swap 512m api

api のメモリの上限を 512MB にします。スワップも同じ値にすると、スワップを使わなくなります。

$ docker update --cpus 0.5 batch

batch が CPU を使い過ぎてほかが遅くならないよう、CPU 半分までに抑えます。

よくある間違い・注意

  • ポート・環境変数・ボリュームは update では変えられません。コンテナを消して docker run で作り直します。
  • --memory だけを小さくして --memory-swap が今より小さくなると、エラーになることがあります。両方いっしょに決めます。
  • update は今のコンテナだけの変更です。compose を使っているなら compose.yaml にも書かないと、作り直したときに戻ります。

実際に打って練習する

Docker コースの Lv61「走りながら直す docker update」で覚えます(第8章 港の守り(本番運用))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜7 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。

Docker コマンド一覧(使い方と例)へ戻る