dockerのマウントについて質問です。
マウントには、
・bind mount
・volume
の2つがあるかと思います。
例えば、
ホストのソースの変更を、コンテナ内に反映させたい。
といった場合に、
バインドマウントだと、ホスト側のソースのパスとコンテナ内のパスを設定することで、コンテナ側からホスト側のファイルの読み取りや操作が可能になり、目的が達成出来るのが理解できます。
ただ、ボリュームマウントの方だと、この目的には適していないでしょうか?
バインドマウントは非推奨という記事を見かけるので気になります。
ボリュームには、どのようなデータが入っているのでしょうか。
よろしくお願い致します。
「ホスト」が指しているものがおかしい気がするんで、何を意味しているのか明確に。
> バインドマウントは非推奨という記事を見かける
その記事のURLなり出典なりを提示しましょう。
非推奨とかじゃなくて、単に目的が違うだけかと。
https://qiita.com/kubocchi/items/793c327cf3c72cc7af1c
目的として
ホストのソースの変更を、コンテナ内に反映させたい。
であれば、バインドマウントが適切なのでしょうか。
ボリュームマウント使用時の目的は主に何になるのでしょうか。
自分はそんなに詳しくありませんが、docker を開発環境として使う場合は、ホスト OS とファイル共有する必要があり、必然的に bind mount することになるのでしょう。一方、運用環境として使う場合、docker の中だけからアクセスできれば良い (むしろ、ホスト OS からアクセスできると脆弱性の元となる) と考えれば bind mount は非推奨で、volume を使うべきってことになるのだと思います。(誤字訂正しました。)
なるほど。
とても分かりやすい説明ありがとうございます。
volumeを使うときは、
コンテナの変更をボリュームに外部保存しておく
というのが主な目的となる感じで、開発環境のような使い方はしない。なので、ホストOSのソースの場所など関係なく、コンテナとボリュームさえマウントしておけば良いという認識ですかね。
回答1件
あなたの回答
tips
プレビュー