私は初心者です。間違っていたりもっと良いやり方がありましたら教えていただけるとありがたいです
参考
- Docker + Nginx + PHP-FPM なら40秒くらいで環境を準備できる docker-compose が楽しくなってきました。 - Qiita
- Docker Composeを使ってnginxとPHP-FPMでPHPの実行環境を構築する - あとらすの備忘録
こちらのリンクにコードを置きました
docker-compose.yml
version: "3"
services:
web:
image: nginx
ports:
- "8080:80"
volumes:
- ./default.conf:/etc/nginx/conf.d/default.conf
- ./myapp:/var/www/html
depends_on:
- php
php:
image: php:7-fpm
volumes:
- ./myapp:/var/www/html
phpのサービスだけで、/var/www/html
にファイルをマウントしたら良いかと思ったのですが、htmlが表示されず(ファイルがなくて404になる)webのサービスの方でも/var/www/html
マウントしました
default.conf
server {
listen 80;
listen [::]:80;
server_name localhost;
root /var/www/html;
location / {
index index.php index.html;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
myapp/index.php
<?php
phpinfo();
docker compose up -d
以上です。m(_ _)m