【Docker】MAMP配下のディレクトリをコンテナにマウントできなかったときの対処法
もともとMAMP環境で作成していたWebアプリのディレクトリをDockerコンテナにマウントしようとした時に出たエラーの対処をメモ的にまとめておきます。
やりたいこと
phpのイメージをベースにしたコンテナに、Webアプリのコード類が入っているディレクトリをマウントしてコンテナを起動したい。
Dockerfile, docker-compose.ymlの中身はシンプルにこんな感じ。
Dockerfileとdocker-compose.ymlは同じディレクトリ階層に置いています。
FROM php:7.2-fpm
WORKDIR /var/www/html/app
version: '3'
services:
php:
build: .
volumes:
- .:/var/www/html/app
後々複数コンテナを起動することを考えて、docker-composeでコンテナを起動させます。
出たエラー
エラー内容はこんな感じ
ERROR: for app_container Cannot start service web: Mounts denied:
The path /Applications/MAMP/htdocs/app is not shared from the host and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> Resources -> File Sharing.
See https://docs.docker.com/docker-for-mac for more info.
ERROR: for web Cannot start service web: Mounts denied:
The path /Applications/MAMP/htdocs/app is not shared from the host and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> Resources -> File Sharing.
See https://docs.docker.com/docker-for-mac for more info.
ERROR: Encountered errors while bringing up the project.
内容としては「/Applications/MAMP/htdocs/appのパスがホスト(このPC)から共有されていません。Dockerに知らされていません」といった感じ。
対処
エラー文に対処法が書かれているので、そのまま実行します。
MACであれば画面上のDockerアイコンからPreferencesを選択。
ResourcesからFile Sharingを選択。
ここでDockerコンテナにマウントできるディレクトリが設定されているので、MAMP配下にあるディレクトリを指定します。
/Applications/MAMP/htdocs
このパスを追加することでMAMP配下のディレクトリでもDockerコンテナへのマウントが可能になります。
Author And Source
この問題について(【Docker】MAMP配下のディレクトリをコンテナにマウントできなかったときの対処法), 我々は、より多くの情報をここで見つけました https://qiita.com/ts_77/items/1e81e575406bf2f904ba著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .