docker stats の使い方

使っている CPU・メモリを見る

書き方

docker stats
docker stats --no-stream
docker stats コンテナ
docker stats --no-stream --format '{{.Name}} {{.MemUsage}}'

動いているコンテナの CPU・メモリ・ネットワークの使い方を表示します。MEM USAGE / LIMIT の右側が上限(-m を付けなければサーバーのメモリ全部)。

よく使うオプション

オプション意味
--no-stream1 回だけ出して終わる(付けないと出し続ける)
-a止まっているコンテナも出す
--format テンプレート出す列を選ぶ({{.Name}}・{{.CPUPerc}}・{{.MemUsage}} など)

例

$ docker stats --no-streamCONTAINER ID   NAME   CPU %   MEM USAGE / LIMIT     MEM %   NET I/O         BLOCK I/O     PIDS
3f2a9c1d8e7b   web    0.01%   7.2MiB / 1.8GiB       0.39%   1.2kB / 0B      0B / 4.1kB    3
8b1e4d7c2a9f   db     0.35%   48.6MiB / 256MiB      18.98%  3.4kB / 2.1kB   18MB / 52MB   7

動いているコンテナの CPU・メモリ・ネットワーク・ディスクの使い方を 1 回だけ出します。

$ docker stats web db

名前を書いたコンテナだけを出し続けます。Ctrl+C で止めます。

$ docker stats --no-stream --format '{{.Name}} {{.MemUsage}}'web 7.2MiB / 1.8GiB
db 48.6MiB / 256MiB

名前とメモリだけを出します。どのコンテナがメモリを使っているかを手早く見るのに便利です。

よくある間違い・注意

  • MEM USAGE / LIMIT の右側は上限です。-m を付けていないとサーバーのメモリ全部になり、使い過ぎるとほかのコンテナまで巻き込まれます。
  • メモリが上限に近いコンテナは、超えると OOM で止められます(終了コード 137)。

実際に打って練習する

Docker コースの Lv60「積み荷の重さを量る docker stats」で覚えます(第8章 港の守り(本番運用))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

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

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