質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

1846閲覧

dockerにてPHPの開発環境を構築したい「docker-compose up -dでコンテナの起動をしたい」

t_shirakihara

総合スコア4

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2021/06/25 15:33

編集2021/06/25 15:34

実現したいこと

dockerにてPHPの開発環境の構築を行いたいです。もっと細かくいうと、docker-compose up -dでコンテナの起動をしたいです。[リンク内容]こちらのサイトをもとに開発環境の構築を行なっています。(こちらのサイト通りに行なっているため、ディレクトリやファイルの中身などは全く同じです。)(https://qiita.com/yamaking/items/b9d44b979a6d4abf438f)

発生している問題・エラーメッセージ①

Removing php-test_db_1 Recreating 5e71ea15dffe_php-test_db_1 ... done Creating php-test_phpmyadmin_1 ... Creating php-test_php_1 ... done Creating php-test_nginx_1 ... error Creating php-test_phpmyadmin_1 ... done on: '/host_mnt/Users/takashi/php-test/www/html:var/www/html:rw': invalid mount config for type "bind": invalid mount path: 'var/www/html' mount path must be absolute ERROR: for nginx Cannot create container for service nginx: invalid volume specification: '/host_mnt/Users/takashi/php-test/www/html:var/www/html:rw': invalid mount config for type "bind": invalid mount path: 'var/www/html' mount path must be absolute

また、1回目と2回目のnginxのエラー内容に若干の違いがありまして、

Starting php-test_db_1 ... done Starting php-test_phpmyadmin_1 ... Starting php-test_php_1 ... done Recreating 99d78e8bae8e_php-test_nginx_1 ... error Starting php-test_phpmyadmin_1 ... done e specification: '/host_mnt/Users/takashi/php-test/www/html:var/www/html:rw': invalid mount config for type "bind": invalid mount path: 'var/www/html' mount path must be absolute ERROR: for nginx Cannot create container for service nginx: invalid volume specification: '/host_mnt/Users/takashi/php-test/www/html:var/www/html:rw': invalid mount config for type "bind": invalid mount path: 'var/www/html' mount path must be absolute

「Creating php-test_nginx_1... error」が「Recreating 99d78e8bae8e_php-test_nginx_1 ... error」となっていますが、ここは問題ないのでしょうか?質問の仕方がうまくなく、申し訳ないです。

該当のソースコード①

version: '3' services: nginx: image: nginx:latest ports: - 8080:80 volumes: - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf - ./www/html/:var/www/html depends_on: - php php: build: ./php volumes: - ./www/html:/var/www/html depends_on: - db db: image: mysql:5.7 ports: - 13306:3306 volumes: - ./mysql:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: secret phpmyadmin: image: phpmyadmin/phpmyadmin:latest ports: - 8888:80 depends_on: - db

該当のソースコード②

FROM php:7.4-fpm COPY php.ini /usr/local/etc/php/ RUN docker-php-ext-install pdo_mysql

試したこと

dockerの再起動のみ行いました。

補足情報(FW/ツールのバージョンなど)

Docker version 20.10.7, build f0df350
ターミナル version 2.11
macOS BigSur
MacBook Pro (13-inch, 2016, Four Thunderbolt 3 Ports)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

e specification: '/host_mnt/Users/takashi/php-test/www/html:var/www/html:rw': invalid mount config for type "bind": invalid mount path: 'var/www/html' mount path must be absolute

エラーの内容は絶対パスで書けです
nginxのvolumesを/varから開始するように直してみましょう

投稿2021/06/25 15:42

hentaiman

総合スコア6415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

t_shirakihara

2021/06/25 16:25

ありがとうございます。volumeを./varから開始したのですが、同じく「ERROR: for nginx Cannot create container for service nginx: invalid volume specification: '/Users/takashi/php-test/var/www/html:var/www/html:rw': invalid mount config for type "bind": invalid mount path: 'var/www/html' mount path must be absolute」というエラーに加えて「for 99d78e8bae8e_php-test_nginx_1 Cannot create container for service nginx: invalid volume specification: '/Users/takashi/php-test/var/www/html:var/www/html:rw': invalid mount config for type "bind": invalid mount path: 'var/www/html' mount path must be absolute」 開始の仕方が違ったのでしょうか?「/var」で開始もしてみましたが、同じ内容のエラーが出ました。 以下に実行結果を記載します。 Starting php-test_db_1 ... done php-test_php_1 is up-to-date php-test_phpmyadmin_1 is up-to-date Recreating 99d78e8bae8e_php-test_nginx_1 ... error ERROR: for 99d78e8bae8e_php-test_nginx_1 Cannot create container for service nginx: invalid volume specification: '/Users/takashi/php-test/var/www/html:var/www/html:rw': invalid mount config for type "bind": invalid mount path: 'var/www/html' mount path must be absolute ERROR: for nginx Cannot create container for service nginx: invalid volume specification: '/Users/takashi/php-test/var/www/html:var/www/html:rw': invalid mount config for type "bind": invalid mount path: 'var/www/html' mount path must be absolute
hentaiman

2021/06/25 16:29

/varではなく./varと書いたんですか?
hentaiman

2021/06/26 01:26

直した割にはエラーが変わってないので直してないとしか思えないんですが、 サイト通りって事はwindows10でwsl16でやってるんですもんね?そしたら分かんないですね もし少しでも環境や手順に違いがあるなら「リンク先通りにやりました」みたいな手抜きの質問ではなく、もっと丁寧に全ての環境や情報を書いて実施した手順を書けば分かるかもしんないですね
t_shirakihara

2021/06/26 05:07

不十分な説明で申し訳ありません。 補足情報にも記載したつもりですが、windowsではなくmacOSを使用しています。 今回の経緯として、もともとMAMPにてPHPの学習をしていたのですが、dockerにて開発環境の構築をしてみたいと思ったために、dockerにて開発環境の構築を試みました。 参考サイトを参考にしながら、 . ├── docker-compose.yml ├── mysql │   └── data ├── nginx │   └── nignx.conf ├── php │   ├── Dockerfile │   └── php.ini └── www └── html └── index.php このようなディレクトリ・ファイルを用意しました。各ファイルの中身は、参考サイトをそのまま参照しています。 ファイルの作成後、コンテナの起動「docker-compose up -d」をした際に、最初のエラーでもある Removing php-test_db_1 Recreating 5e71ea15dffe_php-test_db_1 ... done Creating php-test_phpmyadmin_1 ... Creating php-test_php_1 ... done Creating php-test_nginx_1 ... error Creating php-test_phpmyadmin_1 ... done on: '/host_mnt/Users/takashi/php-test/www/html:var/www/html:rw': invalid mount config for type "bind": invalid mount path: 'var/www/html' mount path must be absolute ERROR: for nginx Cannot create container for service nginx: invalid volume specification: '/host_mnt/Users/takashi/php-test/www/html:var/www/html:rw': invalid mount config for type "bind": invalid mount path: 'var/www/html' mount path must be absolute このエラーが発生しました。何度か起動を試したところ、途中で Starting php-test_db_1 ... done php-test_php_1 is up-to-date php-test_phpmyadmin_1 is up-to-date Recreating php-test_nginx_1 ... error ERROR: for php-test_nginx_1 Cannot create container for service nginx: invalid volume specification: '/host_mnt/Users/takashi/php-test/www/html:var/www/html:rw': invalid mount config for type "bind": invalid mount path: 'var/www/html' mount path must be absolute ERROR: for nginx Cannot create container for service nginx: invalid volume specification: '/host_mnt/Users/takashi/php-test/www/html:var/www/html:rw': invalid mount config for type "bind": invalid mount path: 'var/www/html' mount path must be absolute このようなエラーに変わりました。変わった点としては 「Creating php-test_nginx_1... error」→「Recreating php-test_nginx_1 ... error」で、「creating」が「recreating」になった点、新たなエラーが発生した点です。 最初にご指摘いただいたところを修正したものが(ngonxのvolumeを /var から開始するというご指摘です) version: '3' services: nginx: image: nginx:latest ports: - 8080:80 volumes: - /var/nginx/nginx.conf:/etc/nginx/conf.d/default.conf - /var/www/html/:var/www/html depends_on: - php php: build: ./php volumes: - ./www/html:/var/www/html depends_on: - db db: image: mysql:5.7 ports: - 13306:3306 volumes: - ./mysql:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: secret phpmyadmin: image: phpmyadmin/phpmyadmin:latest ports: - 8888:80 depends_on: - db こちらになっています。これで再度コンテナの起動を試みたのですが、 Starting php-test_db_1 ... done php-test_phpmyadmin_1 is up-to-date php-test_php_1 is up-to-date Recreating 99d78e8bae8e_php-test_nginx_1 ... error ERROR: for 99d78e8bae8e_php-test_nginx_1 Cannot create container for service nginx: invalid volume specification: '/var/www/html:var/www/html:rw': invalid mount config for type "bind": invalid mount path: 'var/www/html' mount path must be absolute ERROR: for nginx Cannot create container for service nginx: invalid volume specification: '/var/www/html:var/www/html:rw': invalid mount config for type "bind": invalid mount path: 'var/www/html' mount path must be absolute ERROR: Encountered errors while bringing up the project. このような表示になっていて、エラーが発生しています。 可能な限り詳細を自分なりに書いてみました。説明不足で申し訳ないです。
hentaiman

2021/06/26 05:22

しかしエラーの内容が変わってない事からしても修正後のyamlを読んでいるように思えません コマンドを実行する場所だったり実行オプションを間違えてんではないでしょうか
t_shirakihara

2021/06/26 06:53

ご指摘ありがとうございます。質問をさせていただいたエラーに関しては解決いたしました。実行場所などを色々と変更してみましたが、変化がなかったため、再度ファイルの中身を見直して作成したところ起動したため、入力ミスでした。色々とお手数をおかけして申し訳ありませんでした。ご指摘ありがとうございます。 また、別のエラーが出てきたので、そちらについて調べてみます。 本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問