LoginSignup
0
1

More than 3 years have passed since last update.

Dockerで名前をつけていないvolumeを削除する

Last updated at Posted at 2019-05-26

Dockerで特定のコンテナが使っているvolumeを消す時にdocker volume rm <Volume名> で消すことができますが、Volumeに名前をつけてない場合、どのDockerコンテナで使っているかわからず削除に迷ったのでまとめておきます。

環境

macOS: 10.13.6
docker: 18.09.2

Volume名を確認

docker volume ls でVolume名を確認できますが名前をつけていないとhash値で表示されます。

docker volume ls
DRIVER              VOLUME NAME
local               24e0853786a7e954875ccfbfaa8b230535e31cc9257883918b4c7b41f837f094
local               619f0e516ca2506d6129b4b0e61f1685d6bf868f1165b6d7535e532a793014c9
local               950c020c36d49386417e12053277ea3bea1d6198de1dede52942530e26a6d62e
local               adad36583c083e30f82560a6b1420527ab593360f05da2e4eb03b10266f60318
local               ba52e56e07d33e91990c30de4a437e50bd0af3f948e6fbc2b5c9f4a25af09e0d
 ・            ・
 ・            ・
 ・            ・
local               hoge_data1
local               hoge_data2

hoge_data1のように名前をつけていれば、どのコンテナで使っているのかわかるので docker volume rm hoge_data1 のように削除してあげればOKですが、hash値だとどのコンテナで使っているかわからない、、、
なので別の方法でコンテナとVolumeの対応を探す必要があります。

docker inspect

docker inspect <container ID> でコンテナの詳細情報を確認でき、Volume名も確認できます。
以下の例だとMounts"Type": "volume"の箇所がvolumeに関する情報になり、
e01b1984250560b6f648f688e8a941e15949349feeabd5896fa8f80194486f0f がvolume名になります。
このあたりの見え方はバージョンや使っている環境で多少変わってくるかもしれません。

[
    {
        "Id": "f2292235330978eb3ab546ee453312a635bff66a12ce55f36e8a693a79f4faed",
        "Created": "2019-05-26T03:47:04.0594156Z",
        "Path": "docker-entrypoint.sh",
           
           
           

     "Mounts": [
            {
                "Type": "volume",
                "Name": "e01b1984250560b6f648f688e8a941e15949349feeabd5896fa8f80194486f0f",
                "Source": "/var/lib/docker/volumes/e01b1984250560b6f648f688e8a941e15949349feeabd5896fa8f80194486f0f/_data",
                "Destination": "/var/lib/mysql",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
        ],

docker volume rm

volume名を確認できれば、docker volume rm で削除してあげれば完了です。

$ docker volume rm e01b1984250560b6f648f688e8a941e15949349feeabd5896fa8f80194486f0f

参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1