Dockerで使われていないvolumeやnetwork等を削除する

today

使用されていない物を一括で削除

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
この記事のタグ
Share
© 2020 heisen-tech.com Inc.