Dockerにおいて「ボリュームマウント」って用語を紹介している和書や記事は多いけど、公式では「Volume Mount」なんて用語は存在しないのでは? どこかにあるんだろうか。
ツイート → https://twitter.com/mohirara/status/1344885051490672640
「ボリュームマウント」ってフレーズじゃなくて、「ボリュームを使った(マウント)」というだけでは?
参考
前置き
データを永続化する方法として
- バインドマウント
- ボリュームマウント
の2つが紹介されていることが多い(tmpfs mount
やnamed pipes
もあるけど)。
が、「ボリュームマウント(Volume Mount)」なんてフレーズは、公式ドキュメントに存在してないのだが!?!?!?
Volume mounts
なんて言葉はない!
公式で使われている名称は4つだが More details about mount types
- Volumes ← これがいわゆる「ボリュームマウント」
- Bind mounts
- tmpfs mounts
- named pipes
オライリー本に「マウント」の用語のややこしさが記述されている
『Docker』 p.54
バインドマウンティングホストの特定のディレクトリがボリュームで使われる場合(-v HOST_DIR:CONTAINER_DIRという構文)、これしばしばバインドマウンティングと呼ばれます。正確には、すべてのボリュームはバインドマウンティングされているので、これは多少ミスリーディングなところもあります。違っているのは、マウントポイントがDockerが所有しているディレクトリ中に隠れているのではなく、明示されているところです。
「ボリューム」って単語の意味が広い
ボリュームとは、いくつかのコンテナ内にて用いられる特定のディレクトリのことであり、ユニオン・ファイル・システムを通じて利用されます。
単に「ボリューム」といったときには、ホスト上のファイルシステムにあるとか、Dockerエンジンが管理するとかそういう話ではないみたいだ。
ボリュームはデータを永続的に保持する目的で設計されており、コンテナのライフサイクルには影響されません。したがってコンテナを削除したとしても、Docker はボリュームを自動的に削除するようなことはしません。たとえコンテナから参照されなくなったボリュームであっても、「ガベージ・コレクト」により失われることもありません。これは データ・ボリューム(data volume) とも呼ばれます。
ボリュームには、ホスト(host)、匿名(anonymous)、名前付き(named)という3種類のタイプがあります。
細かい区分はこっち。使うボリュームによって、手法名が違うって感じかな?