マンページにはdocker rm
次の内容があります。
コンテナとそのボリュームの削除
$ docker rm -v redis redis
このコマンドはコンテナを削除し、関連するすべてのボリューム。気づく名前でボリュームを指定した場合、削除されません。
「名前でボリュームを割り当てる」とはどういう意味ですか?削除されるコンテナに関連するボリュームではありませんか?
コンテナの削除とオプションでボリュームの削除
$ docker create -v awesome:/foo -v /bar --name hello redis hello $ docker rm -v hello
この例では/foo のボリュームは変更されずに保持されますが、/bar のボリュームは削除されます。。 --volumes-fromを使用して継承されたボリュームにも同じ動作が適用されます。
なぜ「/fooのボリュームは同じままですが、/barのボリュームは削除されますか?」
ありがとうございます。
答え1
バラよりボリュームに関するDockerドキュメント背景情報、特にボリュームの削除の説明。
「名前でボリュームを割り当てる」とはどういう意味ですか?削除されるコンテナに関連するボリュームではありませんか?
-v name:path
これは、またはオプションを使用してコンテナにマウントされた独自の名前を持つボリュームを意味します--mount
。これらのボリュームは、コンテナとは別に作成された場合でも、コンテナとは別に管理する必要があります。コンテナと一緒にボリュームの削除を要求すると、コンテナと一緒に削除されないため、個別に削除する必要があります。
「ボリュームは
/foo
同じままですが、ボリュームは/bar
削除されます」というのはなぜですか?
/foo
名前付きボリューム()なので、awesome
別々に管理されますが、リンクされたコンテナのライフサイクル以外には役に立たない匿名ボリューム/bar
です。
答え2
docker rm -v
名前付きボリュームは誤って削除されません。匿名ボリュームは一時記憶域として使用できますが、名前付きボリュームはより長く持続すると予想されます。
上記の例に示すように、名前付きボリュームを削除するには、次のようにします。docker volume rm awesome