質問: > > * ホスト側のフォルダAをコンテナのフォルダBにマウントする > * コンテナのフォルダB直下のフォルダCを名前付きボリュームに保存する > > > 上記をdocker-compose.ymlで設定したところ、ホスト側のフォルダA直下にフォルダCが表示されますが、フォルダCが空になっています(コンテナ側フォルダCにはファイルがあります)。 何故ホスト側フォルダCは空なのでしょうか。 ``` services: app: images: php volumes: - フォルダA:フォルダB - volumeC:フォルダC volumes: volumeC: ```
回答: * フォルダA:フォルダB という指定の仕方は「バインドマウント」と呼ばれ、ローカルのフォルダAとコンテナのフォルダBをリンクしてくれます。 一方で、自分で作成したボリュームの場合はバインドマウントが行われないため、Docker Volumeという領域でデータを永続化するために使います。この場合、ローカルのファイルシステムとのリンクが行われないので、手元のフォルダCにはファイルが保存されないどころか、リンクも行われません。