Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Docker容器中Symfony2的权限问题_Php_Symfony_Docker_Dockerfile - Fatal编程技术网

Php Docker容器中Symfony2的权限问题

Php Docker容器中Symfony2的权限问题,php,symfony,docker,dockerfile,Php,Symfony,Docker,Dockerfile,我正在尝试创建一个Docker映像来引导Symfony项目。 这是我的Dockerfile: FROM php:7-apache LABEL Description = "This image is used to start Symfony3 project" ENV DIRPATH /var/www/html # apt-get command RUN apt-get update && apt-get install -y \ vim \ git RU

我正在尝试创建一个Docker映像来引导Symfony项目。 这是我的Dockerfile:

FROM php:7-apache

LABEL Description = "This image is used to start Symfony3 project"

ENV DIRPATH /var/www/html

# apt-get command
RUN apt-get update && apt-get install -y \
    vim \
    git
RUN apt-get install -y zlib1g-dev && docker-php-ext-install zip


# Install Composer
RUN curl -sS https://getcomposer.org/installer | php
RUN mv composer.phar /usr/local/bin/composer

# Install the Symfony Installer
RUN curl -LsS http://symfony.com/installer -o /usr/local/bin/symfony
RUN chmod a+x /usr/local/bin/symfony

# Create the php.ini file
RUN cp /usr/src/php/php.ini-development /usr/local/etc/php/php.ini
构建和容器创建工作正常,但我的容器中存在权限问题。 当我进入我的应用程序_dev.php时,我收到以下消息:

不允许您访问此文件。有关更多信息,请查看app_dev.php

显然,我只能通过localhost访问此文件。 此外,PHP不能删除或创建容器中的任何内容。 例如,我在运行时出现以下错误:

$php app/console cache:clear
Failed to remove directory "/var/www/html/app/cache/dev_old/doctrine

如何在我的Dockerfile中解决这个问题?

几周后终于找到了:

将其添加到Dockerfile中。它解决了许可问题

# Workaround for write permission on write to MacOS X volumes
# See https://github.com/boot2docker/boot2docker/pull/534
RUN usermod -u 1000 www-data

如果您尝试访问app.php,会发生什么情况?这里的一些技巧与app.php有相同的问题,但不是相同的消息。这是一个php错误,表示无法在app/dev和app/cache文件夹中写入。我检查了你的链接并尝试了。同样的权限问题。我不是唯一一个。你可以看到人们对这篇文章的评论。当然,这似乎不是一篇好文章……注意:这也解决了我在Windows 10主机上运行Ubuntu16.04来宾虚拟机(以及虚拟机中的docker)时遇到的问题