Dockerを軽量化するために使えるdocker prune コマンド・Dockerを軽量化する方法

Docker_Prune

こんにちはフロントエンドエンジニアのまさにょんです!

今回は、Dockerを軽量化するために使えるdocker prune コマンド・Dockerを軽量化する方法について解説していきます。

Dockerを軽量化するために使えるdocker prune コマンド・Dockerを軽量化する方法

Dockerのストレージ使用量を調べる

Dockerのストレージ使用量を調べるには、次のコマンドを使います。

docker system df

実行すると次のように、Dockerのストレージ使用状況が、表示されるはずです。

TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          44        20        30.54GB   21.75GB (71%)
Containers      24        4         16.22MB   16.22MB (99%)
Local Volumes   29        7         2.811GB   1.527GB (54%)
Build Cache     252       0         13.57GB   13.57GB

不要なDockerコンテナの自動削除

docker container prune コマンドを使用することで、停止しているDocker Containerを一括で削除することができます。

docker container prune
オプション説明
-f
--force
作業の続行確認をパスする
--filter対象イメージの制限をかけることができる。
例)--filter "until=24h"

停止しているコンテナはメモリやリソースを占有するため、定期的に削除するクセを持っておいた方がいいです。

不要なDockerイメージの自動削除

docker image prune コマンドを使用することで、使用していないDocker Imageを自動で、一括で削除することができます。

タグを持たず、他のコンテナからも参照されないイメージが、使用していないイメージとして判断されます。

docker image prune
オプション説明
-a既存のコンテナから使用されていないイメージを全て削除する
-f
--force
作業の続行確認をパスする
--filter対象イメージの制限をかけることができる。
例)--filter "until=24h"

不要なDockerボリュームの削除

docker volume prune コマンドを使用することで、使用していない Docker の Volumeを削除することができます。

docker volume prune
オプション説明
-f
--force
作業の続行確認をパスする
--filter対象イメージの制限をかけることができる。
例)--filter "label!=keep"

不要なDockerネットワークの削除

docker network prune コマンドを使用することで、使用していない Docker の Network を削除することができます。

docker network prune
オプション説明
-f
--force
作業の続行確認をパスする
--filter対象イメージの制限をかけることができる。
例)--filter "until=24h"

Docker build cacheの削除

次のコマンドで、Docker での Build時に使用している Cacheを Clearすることができます。

docker builder prune

不要なDocker Image, Container, Volume, Network の一括削除

docker system prune コマンドを使用することで、使用されていないDocker Image, Container, Volume, Networkなどを一括で削除することができます。

docker system prune

デフォルトでは、Volume は削除されないようなので、VolumeもClearしたい場合は、オプションを付与する必要があります。

オプション説明
-f
--force
作業の続行確認をパスする
--volumesボリュームも含めて削除

試しに、docker system pruneで、使っていないDocker関連のデータをClearしたら 14.38GB 再利用スペースができたと、出力で表示されました。

docker system prune
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all dangling images
  - all dangling build cache

Are you sure you want to continue? [y/N] y

Total reclaimed space: 14.38GB

関連記事

通常の Image や Container の削除コマンドなどに関しては、こちらをご覧ください。

Dockerの学習・参考書

最近の投稿