Я пытаюсь создать образ 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
Сборка и создание контейнера работает хорошо, но у меня есть проблема с разрешением в моем контейнере.
Когда я иду в свой app_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
Других решений пока нет …