DockerのVolume
Dockerが管理するstorage
containerのライフサイクルとは独立して存在し、データを永続化する
containerが削除されてもデータは保持される
Volumeを使用しないと、Containerをrmし、再度runすると、Container内の、DBやlogが消える
ちなみに、Volumeを使わずとも、ただstop/startしただけでは消えない
2種類ある
特に複数のコンテナが同じボリュームを共有する場合に便利GPT-4.icon
ボリュームのデータは簡単にバックアップや移行が可能GPT-4.icon
volumeは複数のcontainerで共有できる
開発者間での共有などは普通はしない
使用例:
code:compose.yml
volumes:
- my_volume:/path/in/container
恐らく2つの機能があるmrsekut.icon
container内で作ったデータを永続化したい
localでの修正を、container上に即時反映したい
まあでもこの2つは両方とも「localとcontainerのmount」なので、1つの機能として説明できるかmrsekut.icon
たぶん、「docker volumeとは、Contianerを削除してもデータを永続化できるもの」という説明がおかしいんだろうmrsekut.icon
でも、2つ目の方の効能をvolumeの説明として書いているものを見かけないな
$ docker volume create <volume name>
$ docker volume ls
作成済みvolume一覧
nameが雑だとどれがどれか全くわからんなmrsekut.icon
$ docker volume rm <volume name>
Volumeの削除
$ docker volume rm $(docker volume ls -qf dangling=true)
$ docker volume prune
使っていないvolumeを削除
$ docker inspect <volume name>
Volumeの情報を見る
関連