前提・実現したいこと
Next.js * PHP * MySQLでアプリケーション開発をしたいと考えている。
上記の開発環境をdocker上で実現したいと考えている。
コンテナ立ち上げ後のFront(next.js)の動作確認は実施できているものの、BackEnd(PHP)についてはlocalhostにアクセスしても
動作しない状態となっています。(PHPコンテナは立ち上がっていること確認済みです)
本件の事象についてお手数ですがご指摘いただけると幸いです。
発生している問題・エラーメッセージ
phpコンテナ(localhost:8000)にアクセス時に下記が表示される
このページは動作していませんlocalhost からデータが送信されませんでした。 ERR_EMPTY_RESPONSE
叶えたいゴール
localhost8000
を叩いた時にindex.php
の内容が表示される- バックエンドとDBがつながっていることを確認する
該当のソースコード
- docker-compose.yml
version: "3" services: # サービス名を自分で好きに決める(next + laravel + mysqlとなる) next: # コンテナビルド時(立ち上げ時)の情報を記載 build: context: . # dockerファイルの場所を記載 dockerfile: ./docker/next/Dockerfile # コンテナ名を記載 container_name: next_container # ポート番号を指定 ports: - 3000:3000 # コンテナを立ち続けるようにする tty: true # 自分の現在のディレクトリをコンテナ内の/app/nextに紐付け volumes: - ./client:/usr/src/client # コンテナ立ち上げ時に実行するコマンドを記載(localhostの立ち上げをしている) command: "yarn dev" php: build: context: . dockerfile: ./docker/php/Dockerfile container_name: php_container ports: - 8000:8000 depends_on: - mysql tty: true volumes: - ./server/:/usr/src/server nginx: image: nginx container_name: nginx_container ports: - 80:80 environment: - TZ=Asia/Tokyo volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf mysql: build: context: . dockerfile: ./docker/mysql/Dockerfile container_name: mysql_container ports: - 3310:3310 volumes: - ./db:/usr/src/client environment: MYSQL_ROOT_PASSWORD: p@ssw0rd MYSQL_DATABASE: php phpmyadmin: image: phpmyadmin/phpmyadmin environment: - PMA_ARBITRARY=1 - PMA_HOST=mysql - PMA_USER=root - PMA_PASSWORD=password links: - mysql ports: - 8080:80 volumes: - /sessions
dockerfile
mysql
FROM mysql:latest
next
FROM node:lts WORKDIR /usr/src/client
php
FROM php:8.0-rc WORKDIR /usr/src/server RUN docker-php-ext-install pdo pdo_mysql
Backendのフォルダ
./server
直下にindex.php
をおいているだけです。記述内容は下記
<?php echo "hello php";
試したこと
- nginxなどのwebサーバが必要なのかと考察し、nginxコンテナを導入。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/29 23:49