きり丸の技術日記

技術検証したり、資格等をここに残していきます。

使用していないDockerイメージ等々をコマンドで一掃する(docker system prune -a -f --volumes)

全消しするオプションも含めたコマンドを次に記載します。

docker system prune -a -f --volumes

環境

  • Docker
    • Docker version 20.10.13, build a224086

      解説

docker system pruneだとイメージ、コンテナ、ネットワークを削除します。ただし、イメージに関しては「参照されていないイメージ」(dangling image)のみを削除します。「使用していないイメージ」ではないため、docker imagesを実行すると残っていることがわかります。「使用していないImage」も含めて削除するためには-aオプションが必要です。

-f-forceの短縮形で、削除確認を無視できます。無くても問題ありません。

--volumesオプションで指定するとボリュームも削除します。こちらも必要に応じて追加してください。

終わりに

もともと、docker system pruneというコマンドで「参照されていない」Imageを削除することは知っていました。ただ、「使用していない」Imageを削除できていなかったため、dcoker rmi {コンテナID}で削除していました。

# こんなコマンドで一括削除していました
docker rmi $(docker images -q)

公式ヘルプを読めば簡単にわかったのですが、「使用していないイメージも削除する」オプションにたどり着くのに時間がかかったので、メモとしてブログにします。

参考情報