🐈

全てのDockerコンテナ・イメージを消すコマンド

に公開

TL;DR

docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
docker rmi $(docker images -aq)
docker volume prune -f
docker network prune -f
docker system prune -af

1. 導入

  • Dockerを使っていると、不要なコンテナやイメージが増えていく問題点を説明。
  • システムのリソースを無駄にしないための対策として、不要なコンテナやイメージの削除が重要であることを強調。

2. コマンドの解説

この内容は、Dockerを使用している開発者や運用担当者向けに、不要なコンテナ、イメージ、ボリューム、ネットワークなどを一括で削除するためのコマンドを紹介し、クリーンアップを効率的に行う方法を解説する記事です。以下に各セクションを詳しく説明します。

  • docker stop $(docker ps -aq)
    実行中のすべてのコンテナを停止します。docker ps -aqは、すべてのコンテナIDを取得し、それらに対してdocker stopを適用するものです。

  • docker rm $(docker ps -aq)
    停止したすべてのコンテナを削除します。docker ps -aqで取得したコンテナIDを元に、docker rmを使って一括削除します。

  • docker rmi $(docker images -aq)
    使用されていないすべてのDockerイメージを削除します。docker images -aqで全イメージIDを取得し、それを削除します。このコマンドで、不要なイメージを一括でクリーンアップできます。

  • docker volume prune -f
    使用されていないDockerボリュームを削除します。これにより、コンテナで使用されていないボリュームが削除されます。-fオプションは確認なしで削除するためのものです。

  • docker network prune -f
    使用されていないDockerネットワークを削除します。これも-fオプションで確認なしで削除します。

  • docker system prune -af
    不要なコンテナ、イメージ、ボリューム、ネットワークを一括で削除します。-aオプションは全ての未使用のものを対象にし、-fオプションは確認なしで削除を実行します。

3. 注意事項

  • 実行前に確認すべきこと:
    • 必要なコンテナやイメージがないか確認。
    • データが失われる可能性があるため、バックアップの推奨。
  • 本番環境での実行に関する注意。

4. 活用例

  • ローカルの開発環境をリセットしたいとき。
  • ストレージの空き容量を確保したい場合。

5. まとめ

  • コマンドの便利さを再強調。
  • 定期的なクリーンアップの習慣化を推奨。

Discussion