目次
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, --all | dangling イメージだけでなく、未使用のすべてのイメージを削除します |
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>と表示されます。このイベントには、テンプレートが読み取る名前の値がないためです。
関連する章
- ディスク領域のクリーンアップ
- docker ps コマンド:コンテナを一覧表示する
- docker stats コマンド:コンテナのリソース使用量を確認する
- docker inspect コマンド:Docker オブジェクトの詳細を確認する
練習問題
練習:直近 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日