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 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。