質問: 抽象的になって申し訳ありませんが、以下の場合の挙動について教えていただきたいです。 以下の状態でコンテナを起動してもホスト側にフォルダBが表示されません。 何故フォルダBが表示されないのかご教授ください。 1Dockerfile ・ホストのフォルダAをコンテナ内にコピー ・コンテナのフォルダAの中で新規にフォルダBを作成し、配下にファイルなどを作成 2docker-compose.yml docker-compose.ymlファイルでホストのフォルダAとコンテナ内にコピーしたフォルダAをマウントし、さらにコンテナ内で作成したフォルダBをトップボリューム(vol1)に保存します。 下記簡易的な例です。 ``` volumes: - path_to_フォルダA:path_to_フォルダA(コンテナ内) - vol1:path_to_フォルダB(コンテナ内) volumes: vol1: ```
回答: Aはバインドマウントという特殊な設定で、ホスト側とコンテナ側のファイルシステムをリンクしてくれる設定です。Webサーバーやアプリケーションのログや画像などを保存して取り出したい場合に使います。 BはDocker VolumeというDockerにおける抽象化されたストレージにデータを永続化する設定なので、ホスト側のファイルシステムから直接ファイルを閲覧しない時に使います(例えばデータベースの情報などを保存する場合です)