docker system / prune の使い方

片付ける

書き方

docker system df
docker container prune -f
docker image prune [-a] -f
docker volume prune -f
docker system prune [-a] [--volumes] -f

使っていないコンテナ・イメージ・ネットワーク・ボリュームをまとめて消します。-f を付けないと確認を求められます。df で使っている容量を確かめます。

よく使うオプション

オプション意味
-f確認を出さずに消す
-a(image・system)名前の無いものだけでなく、コンテナが使っていないイメージを全部消す
--volumes(system)使っていないボリュームも消す
--filter until=24hそれより古いものだけ消す
-v(system df)容量を、イメージやボリュームごとに詳しく出す

例

$ docker system dfTYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          12        3         4.21GB    3.05GB (72%)
Containers      4         2         12.3MB    1.2MB (9%)
Local Volumes   3         2         512MB     88MB (17%)
Build Cache     41        0         1.84GB    1.84GB

イメージ・コンテナ・ボリューム・ビルドのキャッシュがどれだけ容量を使っているかと、消せる量(RECLAIMABLE)を出します。

$ docker image prune -fDeleted Images:
deleted: sha256:7c2b1a0f9e8d7c6b5a4f3e2d1c0b9a8f7e6d5c4b3a2f1e0d9c8b7a6f5e4d3c2b
Total reclaimed space: 182.4MB

名前の無い古いイメージ(<none>)を消します。作り直すたびにたまるので、ときどき打ちます。

$ docker builder prune --force

ビルドのキャッシュを消します。docker build を何度もするサーバーでは、これが一番大きいことがあります。

$ docker container prune -f

止まっているコンテナを全部消します。

$ docker system prune --filter until=24h -f

止まったコンテナ・使っていないネットワーク・名前の無いイメージ・ビルドのキャッシュのうち、24 時間より古いものをまとめて消します。ボリュームは消しません。

よくある間違い・注意

  • --volumes を付けると、止まっているデータベースのボリュームも消えます。本番のサーバーでは付けません。
  • -a を付けると、今は使っていないだけのイメージも消えるので、次に動かすときに取り直しになります。

実際に打って練習する

Docker コースの Lv44「大掃除」で覚えます(第6章 港の実践)。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

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

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