使用されていない物を一括で削除
dockerやdocker-composeを使用していると、使用していないcontainer・imageや、volume・network・cacheなどがたまっていく。
一括で削除するには下記コマンドを実行する。
docker system prune
本当に削除していいか確認が出る。
削除していいなら y を入力してしてEnter
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
volumeの削除はホスト側のデータが消えることは無い。
停止中のcontainerも削除される。
また、エラーなどのimageは削除されるが、使用されていないimageは削除されない。
使用されていないimageも一括で削除したい場合は、オプションに -a を与えて実行する。
docker system prune -a
確認が出るので y を入力してしてenterを押せば実行される。
かなりの頻度でたまっていくので、定期的に実行した方がいい。
下記にはそれぞれ個別に実行したい時のために、よく使うコマンド等を記しておく。
container関連コマンド
起動中のcontainerの一覧を表示
docker ps
全てのcontainerの一覧を表示
docker ps -a
停止中のcontainerを削除
docker rm コンテナ名もしくはコンテナid
起動中のcontainerを削除
docker rm -f コンテナ名もしくはコンテナid
使用されていないcontainerを一括削除
docker container prune
images関連のコマンド
imagesの一覧を表示
docker images
imagesを削除
docker rmi イメージ名:タグ名もしくはイメージid
imageを一括削除
docker image prune
エラーなどのimageは削除されるが、使用されていないimageは削除されない。
使用されていないimageを一括削除
docker image prune -a
volume関連のコマンド
volumeの削除なのでローカル側のデータは消えない
volumeの一覧を表示
docker volume ls
volumeを削除
docker volume rm ボリューム名
使用されていないvolumeを一括削除
docker volume prune
network関連のコマンド
networkの一覧を表示
docker network ls
下記networkは初期からあるので、削除しない方がいい。
NETWORK ID NAME DRIVER SCOPE
************ bridge bridge local
************ host host local
************ none null local
networkを削除
docker network rm ネットワーク名もしくはネットワークid
使用されていないnetworkを一括削除
docker network prune
build cache関連コマンド
cacheを一括削除
docker builder prune