こんにちはフロントエンドエンジニアのまさにょんです!
今回は、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 の削除コマンドなどに関しては、こちらをご覧ください。