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