使用Laravel和Docker的权限被拒绝错误

我有两个Docker容器:Nginx和App。

该应用程序容器扩展了PHP-fpm,并具有我的Laravel代码。

在我的docker-compose.yml工作中:

version: '2'

services:

nginx:

build:

context: ./nginx

dockerfile: ./Dockerfile

ports:

- "80:80"

links:

- app

app:

build:

context: ./app

dockerfile: ./Dockerfile

在我的Nginx Dockerfile中,我正在做:

FROM nginx:latest

WORKDIR /var/www

ADD ./nginx.conf /etc/nginx/conf.d/default.conf

ADD . /var/www

EXPOSE 80

在我的App Dockerfile中,我正在做:

FROM php:7-fpm

WORKDIR /var/www

RUN apt-get update && apt-get install -y libmcrypt-dev mysql-client && docker-php-ext-install mcrypt pdo_mysql

ADD . /var/www

成功运行docker-compose up后,尝试localhost时出现以下错误

据我了解,该存储文件夹需要Web服务器可写。

我应该怎么做才能解决这个问题?

回答:

使您的Dockerfile如下所示-

FROM php:7-fpm

WORKDIR /var/www

RUN apt-get update && apt-get install -y libmcrypt-dev mysql-client && docker-php-ext-install mcrypt pdo_mysql

ADD . /var/www

RUN chown -R www-data:www-data /var/www

这使目录/var/www拥有,www-data该目录是的默认用户php-fpm

由于它是使用user编译的www-data

参考-

https://github.com/docker-

library/php/blob/57b41cfc2d1e07acab2e60d59a0cb19d83056fc1/7.0/jessie/fpm/Dockerfile

以上是 使用Laravel和Docker的权限被拒绝错误 的全部内容, 来源链接: utcz.com/qa/422406.html

回到顶部