目次

Docker system コマンド入門:ディスク使用量の確認、データのクリーンアップ、イベントの監視

docker system では、Docker のデータ使用量を確認し、未使用データをクリーンアップして、システム情報やイベントを取得できます。クリーンアップについては、ディスク領域のクリーンアップを参照して、Docker が使用する領域を管理してください。

構文

docker system df [OPTIONS]
docker system prune [OPTIONS]
docker info [OPTIONS]
docker events [OPTIONS]

docker info と docker system info、docker events と docker system events は、それぞれ同じコマンドの別名です。

オプション

コマンドオプション説明
docker system df--format テンプレートカスタムテンプレートで出力します。table、json、Go テンプレートを使用できます
docker system df-v, --verboseディスク使用量の詳細を表示します
docker system prune-a, --alldangling イメージだけでなく、未使用のすべてのイメージを削除します
docker system prune--filter 条件label=<key>=<value> など、条件でクリーンアップ対象を絞り込みます
docker system prune-f, --force確認を求めません
docker system prune--volumes匿名ボリュームをクリーンアップします
docker info-f, --format テンプレートカスタムテンプレートで出力します。json または Go テンプレートを使用できます
docker events-f, --filter 条件指定した条件で出力イベントを絞り込みます
docker events--format テンプレートカスタムテンプレートで出力します。json または Go テンプレートを使用できます
docker events--since 時間指定した時間以降に作成されたイベントを表示します
docker events--until 時間指定した時間までイベントのストリーミングを続けます

例

ディスク使用量と詳細を確認する

$ docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          5         3         420.2MB   239.7MB (57%)
Containers      3         3         139.3kB   0B (0%)
Local Volumes   1         1         3.854MB   0B (0%)
Build Cache     0         0         0B        0B

$ docker system df -v | head -20
Images space usage:

REPOSITORY   TAG           IMAGE ID       CREATED         SIZE      SHARED SIZE   UNIQUE SIZE   CONTAINERS
myweb        snapshot      56e3f92534ca   7 seconds ago   92.1MB    0B            92.08MB       0
nginx        1.30-alpine   47928bf67eb6   3 days ago      93.5MB    12.94MB       80.6MB        1
registry     3             01cd312e6702   3 days ago      86.9MB    12.94MB       73.93MB       1
<none>       <none>        0bf6577d7774   3 days ago      161MB     12.93MB       147.6MB       0
alpine       3.23          ff7f0c727dd7   3 days ago      13MB      12.93MB       86.86kB       1

Containers space usage:

CONTAINER ID   IMAGE               COMMAND                  LOCAL VOLUMES   SIZE      CREATED          STATUS          NAMES
0c009f73010b   alpine:3.23         "sleep 600"              0               4.1kB     42 seconds ago   Up 41 seconds   small
63b9a2f9c63f   nginx:1.30-alpine   "/docker-entrypoint.…"   0               115kB     44 seconds ago   Up 43 seconds   web
35357aad74b1   registry:3          "/entrypoint.sh /etc…"   1               20.5kB    2 minutes ago    Up 2 minutes    registry

Local Volumes space usage:

VOLUME NAME                                                        LINKS     SIZE
21ea99090ddead0461eb5a6efd670e1d9cf58fe9c23d5f8618db5868fb6170aa   1         3.854MB
  • 通常の概要には、イメージ、コンテナ、ローカルボリューム、ビルドキャッシュの合計数、稼働中の数、サイズ、回収可能なサイズがそれぞれ表示されます。
  • -v を指定すると、各イメージとコンテナの使用量が表示されます。イメージの詳細には、共有サイズ、固有サイズ、使用しているコンテナ数も含まれます。
  • head -20 は出力の先頭 20 行だけを残すため、この詳細表示には後続の内容が含まれていません。

未使用データをクリーンアップする

$ docker system prune -f
Deleted Images:
untagged: sha256:0bf6577d7774e592b29d093e3ac9390eb91e13d72c21e506afce736de5e0eeb0
deleted: sha256:0bf6577d7774e592b29d093e3ac9390eb91e13d72c21e506afce736de5e0eeb0
deleted: sha256:16b124a2d3eacd620d917ead6fd26cbf1f1d7117fa94122398971931cfe2d403
deleted: sha256:f79a7876c6644b273e4eec899344e51c66959237a2f71188db8cb98d7311521c

Total reclaimed space: 147.6MB

$ docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          4         3         272.6MB   92.08MB (33%)
Containers      3         3         139.3kB   0B (0%)
Local Volumes   1         1         3.854MB   0B (0%)
Build Cache     0         0         0B        0B
  • -f を指定すると、クリーンアップコマンドで確認を省略します。この例では未使用のイメージデータが削除され、147.6MB が回収されたと報告されています。
  • クリーンアップの前後でコンテナ数は 3 のままです。イメージ数は 5 から 4 に、合計サイズは 420.2MB から 272.6MB に減っています。
  • --all を指定すると、未使用のすべてのイメージをクリーンアップできます。--volumes を指定すると匿名ボリュームをクリーンアップできます。保持する必要があるデータを事前に確認してください。

フォーマットテンプレートでシステム情報を取得する

$ docker info --format '{{.ServerVersion}} {{.Driver}} {{.Containers}} containers, {{.Images}} images'
29.9.2 overlayfs 3 containers, 5 images
  • --format を指定すると、テンプレートで指定したサーバーバージョン、ストレージドライバー、コンテナ数、イメージ数だけが出力されます。
  • この例では、サーバーバージョンは 29.9.2、ストレージドライバーは overlayfs です。

時間と条件でイベントを確認する

$ timeout 3 docker events --since 30s --format '{{.Type}} {{.Action}} {{.Actor.Attributes.name}}' ; true
container top web
container top web
container kill busy
network disconnect bridge
container die busy
container destroy busy
image save sha256:47928bf67eb62a1863cb08d9ecb52d3e704304ba614eaee17884204677702951
image save sha256:47928bf67eb62a1863cb08d9ecb52d3e704304ba614eaee17884204677702951
image untag nginx:1.30-alpine
image load sha256:47928bf67eb62a1863cb08d9ecb52d3e704304ba614eaee17884204677702951
container exec_create: sh -c echo hello > /usr/share/nginx/html/hi.txt web
container exec_start: sh -c echo hello > /usr/share/nginx/html/hi.txt web
container exec_die web
container export web
image tag myweb:snapshot
image import sha256:56e3f92534ca8c5aedd8de576ae2433f1864d3d3b51de847a8dc8dd7d503da4d
container create sharp_gould
container attach sharp_gould
network connect bridge
container start sharp_gould
network disconnect bridge
container die sharp_gould
container destroy sharp_gould
container prune <no value>
network prune <no value>
image untag sha256:0bf6577d7774e592b29d093e3ac9390eb91e13d72c21e506afce736de5e0eeb0
image delete sha256:0bf6577d7774e592b29d093e3ac9390eb91e13d72c21e506afce736de5e0eeb0
builder prune <no value>

$ docker events --since 10s --until 0s --filter type=container --format '{{.Action}} {{.Actor.Attributes.name}}'
prune <no value>
create evt
attach evt
start evt
die evt
destroy evt
  • 最初の例は直近 30 秒のイベントからストリーミングを開始し、イベントの種類、アクション、名前だけを出力します。timeout 3 で実行時間を制限しています。
  • 2 つ目の例では、--filter type=container でコンテナイベントに絞り込み、--since と --until で時間範囲を指定しています。
  • prune イベントの名前フィールドには <no value> と表示されます。このイベントには、テンプレートが読み取る名前の値がないためです。

関連する章

練習問題

練習:直近 10 秒以内のコンテナイベントだけを一覧表示し、イベントのアクションとコンテナ名を出力してください。

解答
docker events --since 10s --until 0s --filter type=container --format '{{.Action}} {{.Actor.Attributes.name}}'

よくある質問

docker system df -v の UNIQUE SIZE とは何ですか?

イメージ固有のサイズが表示されます。出力には SIZE と SHARED SIZE も表示されます。たとえば alpine:3.23 の SIZE は 13MB、SHARED SIZE は 12.93MB、UNIQUE SIZE は 86.86kB です。

docker system prune は使用中のイメージを削除しますか?

この例では、コンテナで使用されていない dangling イメージが削除され、147.6MB が回収されたと報告されています。クリーンアップ後も、稼働中のコンテナは 3 個です。--all を指定すると、未使用のすべてのイメージが対象になり、--volumes を指定すると匿名ボリュームもクリーンアップされます。

docker events でコンテナのイベントだけを表示できますか?

できます。--filter type=container を使います。--since と --until を併用するとイベントの時間範囲を指定でき、--format で出力するイベントフィールドを選べます。

docker info から Docker のバージョンとイメージ数だけを取得するにはどうすればよいですか?

docker info --format で Go テンプレートのフィールドを指定します。出力例は 29.9.2 overlayfs 3 containers, 5 images です。

更新日 2026年10月26日