2016-07-05 3 views
0

私はドッカーには新しく、数日間それを遊んでいます。特定のボリュームをマウントしたコンテナはどのようにして見つけることができますか?

私は最近docker volumesに出くわしたと私は97cdb9ee...が属するコンテナ知らない

$ docker volume ls 
DRIVER    VOLUME NAME 
local    97cdb9ee214fbb2a2da04c457613c637043afe8e302ac37c4be435241742e309 
local    hello 

...トラブルこれを考え出すを持っています。私は名前が渡されなければこれが無作為に生成されたと理解します。

docker run ... -v <host_dir> ...を実行するとボリュームが表示されるのはなぜですかdocker run ... -v <host_dir>:<container_dir> ...と表示されません。

簡単なテストの他に、非常に多くの匿名ボリュームがある理由はありますか?

編集: これは容器側にあります。docker inspect <container>です。しかし、それをどのコンテナにするかを把握するために、それを行う必要があるのは面倒かもしれません。ボリューム名の名前を変更することは可能ですか?あなたが見てきたように

答えて

0

、あなたは、コンテナ検査時にこれを見つけることができます:

$ docker run -v /tmp --name voltest busybox true 
$ docker volume ls 
DRIVER    VOLUME NAME 
local    4faeb87e1d603d23157564cb94fa890ab21010c3c6c91c33bcae7d1ed016f560 
$ docker inspect voltest 
... 

"Mounts": [ 
    { 
       "Name": "4faeb87e1d603d23157564cb94fa890ab21010c3c6c91c33bcae7d1ed016f560", 
       "Source": "/var/lib/docker/volumes/4faeb87e1d603d23157564cb94fa890ab21010c3c6c91c33bcaed1ed016f560/_data", 
       "Destination": "/tmp", 

       "Driver": "local", 
       "Mode": "", 
       "RW": true, 
       "Propagation": "" 
    } 
    ], 
... 

をあなたのコンテナにdocker rm -v ...を行うことにより、これらをクリーンアップすることができます。または、docker run -v myname:/path image_nameを実行して、「myname」という名前のボリュームを使用して名前を付けることができます。自動的に削除しないのは、画像作成者がDockerfileのVOLUME定義で誤って失うことのないデータが含まれていると画像作成者が認識したためです。しかし、すでにコンテナを削除してパージすることができる場合は、これらは価値がありません。

関連する問題