Docker 1.9.1でDockerボリュームを削除するときに問題が発生しました。
docker ps -a
空のコンテナが返されるように、停止したコンテナをすべて削除しました。
を使用するとdocker volume ls
、Dockerコンテナのホスト全体が提供されます。
docker volume ls
DRIVER VOLUME NAME
local a94211ea91d66142886d72ec476ece477bb5d2e7e52a5d73b2f2f98f6efa6e66
local 4f673316d690ca2d41abbdc9bf980c7a3f8d67242d76562bbd44079f5f438317
local eb6ab93effc4b90a2162e6fab6eeeb65bd0e4bd8a9290e1bad503d2a47aa8a78
local 91acb0f7644aec16d23a70f63f70027899017a884dab1f33ac8c4cf0dabe5f2c
local 4932e2fbad8f7e6246af96208d45a266eae11329f1adf176955f80ca2e874f69
local 68fd38fc78a8f02364a94934e9dd3b5d10e51de5b2546e7497eb21d6a1e7b750
local 7043a9642614dd6e9ca013cdf662451d2b3df6b1dddff97211a65ccf9f4c6d47
#etc x 50
これらのボリュームには重要なものが含まれていないため、ですべてのボリュームをパージしようとしdocker volume rm $(docker volume ls -q)
ます。
その過程で、大部分が削除されますが、私は取り戻します:
Error response from daemon: Conflict: volume is in use
Error response from daemon: Conflict: volume is in use
Error response from daemon: Conflict: volume is in use
Error response from daemon: Conflict: volume is in use
Error response from daemon: Conflict: volume is in use
それらのかなりの部分について。そもそもコンテナがない場合、これらのボリュームはどのように使用されますか?
sudo service docker stop
およびsudo service docker start
)を再起動して、これらのゴーストボリュームをすべてクリアしました。さらに、docker rm -vコマンドを使用して問題なくボリュームを削除できるようになりました。使用法の顕著な違いは、Ubuntu 15.10でdocker-composeを使用していることだけです。この問題を再現できる場合は報告しますが、それ以外の場合は単純な再起動で十分なようです。ありがとう!
service docker stop && rm -rf /var/lib/docker/volumes/TheVolumIdYouWantToRemove && service docker start