Volumeはコンテナのライフサイクルとは独立している
DockerのVolumeはDockerコンテナ自体のライフサイクルとは独立している。
つまり、Volumeを指定したコンテナを削除しても、Volumeのデータは消えない。
-vオプションでホストのパスを指定しない場合、dockerが管理するホスト内のディレクトリにマッピングする。
だからこういうことができる
- データコンテナ1を参照するコンテナが起動していてもデータコンテナは削除(docker rm)できる。そしてデータは消えない。
- データコンテナを削除してもvolumeに指定したデータは消えず、復旧可能。
- docker inspectで"Volumes"の項目を確認すれば実際にデータが格納されているホストのパスを確認できる
-
データコンテナ: 永続化するデータを格納する目的で作成したコンテナ. ↩