Я использую docker compose для загрузки рабочего пространства разработки, состоящего из php, nginx и mysql. Все загружается, статический html get обслуживается, но при попытке запустить приложение laravel я получаю следующую ошибку:
Не удалось открыть поток или файл "/home/html/storage/logs/laravel-2019-06-10.log": не удалось открыть поток: отказано в разрешении
Я искал вокруг, и это выглядело как проблема с разрешениями? Обратите внимание, что докер с только базой данных и встроенным PHP-сервером действительно работает.
Мой докер-compose.yml
version: "3"
services:
db:
image: mysql
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: "root"
ports:
- 3306:3306
php-fpm:
image: php:7.3-fpm-alpine
links:
- db
volumes:
- "./:/home/html/"
nginx:
image: nginx:1-alpine
ports:
- "8080:80"
links:
- php-fpm
volumes:
- "./site.conf:/etc/nginx/conf.d/default.conf"
- "./:/home/html/"
Мой конфиг nginx:
server {
index index.php index.html;
listen 80 default_server;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /home/html/public;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php-fpm:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
С уважением:)