Open4

Dockerにおいて「ボリュームマウント」って用語を紹介している和書や記事は多いけど、公式では「Volume Mount」なんて用語は存在しないのでは? どこかにあるんだろうか。

mohiramohira

ツイート → https://twitter.com/mohirara/status/1344885051490672640

「ボリュームマウント」ってフレーズじゃなくて、「ボリュームを使った(マウント)」というだけでは?

参考

mohiramohira

前置き

データを永続化する方法として

  • バインドマウント
  • ボリュームマウント

の2つが紹介されていることが多い(tmpfs mountnamed pipesもあるけど)。

が、「ボリュームマウント(Volume Mount)」なんてフレーズは、公式ドキュメントに存在してないのだが!?!?!?

公式で使われている名称は4つだが Volume mounts なんて言葉はない!

More details about mount types

  1. Volumes ← これがいわゆる「ボリュームマウント」
  2. Bind mounts
  3. tmpfs mounts
  4. named pipes
mohiramohira

オライリー本に「マウント」の用語のややこしさが記述されている

『Docker』 p.54
バインドマウンティング

ホストの特定のディレクトリがボリュームで使われる場合(-v HOST_DIR:CONTAINER_DIRという構文)、これしばしばバインドマウンティングと呼ばれます。正確には、すべてのボリュームはバインドマウンティングされているので、これは多少ミスリーディングなところもあります。違っているのは、マウントポイントがDockerが所有しているディレクトリ中に隠れているのではなく、明示されているところです。

mohiramohira

「ボリューム」って単語の意味が広い

https://docs.docker.jp/glossary.html#volume

ボリュームとは、いくつかのコンテナ内にて用いられる特定のディレクトリのことであり、ユニオン・ファイル・システムを通じて利用されます。

単に「ボリューム」といったときには、ホスト上のファイルシステムにあるとか、Dockerエンジンが管理するとかそういう話ではないみたいだ。

ボリュームはデータを永続的に保持する目的で設計されており、コンテナのライフサイクルには影響されません。したがってコンテナを削除したとしても、Docker はボリュームを自動的に削除するようなことはしません。たとえコンテナから参照されなくなったボリュームであっても、「ガベージ・コレクト」により失われることもありません。これは データ・ボリューム(data volume) とも呼ばれます。

ボリュームには、ホスト(host)、匿名(anonymous)、名前付き(named)という3種類のタイプがあります。

細かい区分はこっち。使うボリュームによって、手法名が違うって感じかな?