前提・実現したいこと
dockerを使ったlaravelの環境構築をしたい
発生している問題・エラーメッセージ
localhostでブラウザを開くと404 Not Foundのnginxエラーが出る
該当のソースコード
【docker-composer.yml】
version: '3'
services:
php:
container_name: php
build: ./docker/php
volumes:
- ./server:/var/www
nginx:
image: nginx
container_name: nginx
ports:
- 80:80
volumes:
- ./server:/var/www
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
depends_on:
- php
db:
image: mysql:5.7
container_name: db-host
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: database
MYSQL_USER: docker
MYSQL_PASSWORD: docker
TZ: 'Asia/Tokyo'
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
volumes:
- ./docker/db/data:/var/lib/mysql
- ./docker/db/my.cnf:/etc/mysql/conf.d/my.cnf
- ./docker/db/sql:/docker-entrypoint-initdb.d
ports:
- 3306:3306
【php/Dockerfile】
FROM php:7.2-fpm
COPY php.ini /usr/local/etc/php/
RUN apt-get update
&& apt-get install -y zlib1g-dev mariadb-client
&& docker-php-ext-install zip pdo_mysql
#Composer install
COPY --from=composer /usr/bin/composer /usr/bin/composer
ENV COMPOSER_ALLOW_SUPERUSER 1
ENV COMPOSER_HOME /composer
ENV PATH $PATH:/composer/vendor/bin
WORKDIR /var/www
RUN composer global require "laravel/installer"
【nginx/default.conf】
server {
listen 80;
index index.php index.html;
root /var/www/public;
location / {
root /var/www/public;
index index.html index.php;
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .php$ {
try_files $uri =404; fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_pass php:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
試したこと
下記に沿って実装しました。
https://qiita.com/A-Kira/items/1c55ef689c0f91420e81
補足情報(FW/ツールのバージョンなど)
Docker開発環境=Sailの存在は知っていますが、転職先の課題でSailを使わずに環境構築する必要があるので何卒解決法をご教授いただければと思います。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/01/15 02:07 編集