Я пытаюсь настроить проект Symfony с помощью докеры, но все эти ошибки связаны с разрешениями в каталоге «cache».Symfony and Docker - Разрешения для кеша и журнала dars
Я пробовал все, и я не могу найти решение. Проблема в том, что папка кэша всегда создана с владельцем «root», даже с моим сервером и пользователем php-fpm, установленным как www-data. Может быть, из-за пользователя php-cli?
Я пробовал: - setfacl: Не работает с докером - chown/chmod to www-data: также не работал. он может правильно изменить владельца в начале, но они дают ошибку в другом месте.
докер-compose.yml
app:
build: .
command: "tail -f /dev/null" # keep the application container running
links:
- mysql
volumes:
- .:/var/www
nginx:
build: docker/nginx/
ports:
- 8090:80
links:
- php-fpm
volumes_from:
- app
php-fpm:
build: docker/fpm
ports:
- 9000:9000
volumes_from:
- app
mysql:
image: mysql:5.7
volumes:
- ./docker/data/mysql:/var/lib/mysql
Мое приложение Dockerfile:
FROM php:5.6-cli
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y \
git \
vim \
curl \
php5-json \
php5-intl \
php5-mcrypt \
php5-mysql \
php5-apcu \
php5-gd
ADD /docker/fpm/php.ini /usr/local/etc/php/
# install composer.
RUN curl -sS https://getcomposer.org/installer | php
RUN mv composer.phar /usr/local/bin/composer
RUN usermod -u 1000 www-data
ADD . /var/www
WORKDIR /var/www
PHP-FPM Dockerfile
FROM php:5.6-fpm
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y \
php5-json \
php5-intl \
php5-mcrypt \
php5-mysql \
php5-apcu \
php5-gd
RUN apt-get install -y php5-xdebug
ADD xdebug.ini /usr/local/etc/php/conf.d/
ADD php.ini /usr/local/etc/php/
EXPOSE 9000
WORKDIR /var/www
CMD ["php-fpm"]
Nginx Dockerfile
FROM nginx:latest
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y git vim
ADD nginx.conf /etc/nginx/
ADD symfony.conf /etc/nginx/sites-available/
RUN mkdir -p /etc/nginx/sites-enabled
RUN ln -s /etc/nginx/sites-available/symfony.conf /etc/nginx/sites-enabled/
RUN usermod -u 1000 www-data
EXPOSE 80
EXPOSE 443
ENTRYPOINT ["nginx"]
Я из идей. Какие-либо предложения? Спасибо.
добавить в своем Dockerfile в непривилегированных пользователей и 'USER xxx' – user2915097
это работало для нас на Mac/Windows/Ubuntu http://stackoverflow.com/questions/34949083/symfony-docker-permission-problems- для-кэш-файлов/36493746 # 36493746 –