Symfony2 Docker 容器中的权限问题

Permission Issue in Docker container for Symfony2

我正在尝试为 bootstrap Symfony 项目创建一个 Docker 图像。 这是我的 Docker 文件:

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

构建和容器创建工作正常,但我的容器中存在权限问题。 当我去 app_dev.php 时,我收到这条消息:

您无权访问此文件。查看 app_dev.php 了解更多信息。

显然,我只能使用本地主机访问此文件。 此外,PHP 无法在我的容器中删除或创建任何内容。 例如,当我 运行:

时出现以下错误
$php app/console cache:clear
Failed to remove directory "/var/www/html/app/cache/dev_old/doctrine

如何在我的 Docker 文件中解决这个问题?

几周后终于找到了:

将其添加到 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