全消しするオプションも含めたコマンドを次に記載します。
docker system prune -a -f --volumes
環境
- Docker
- Docker version 20.10.13, build a224086
解説
- 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)
公式ヘルプを読めば簡単にわかったのですが、「使用していないイメージも削除する」オプションにたどり着くのに時間がかかったので、メモとしてブログにします。