У меня есть файл docker-compose.yml. У меня есть контейнер с php7.3-fpm и nginx. В моем файле docker-compose.yml у меня есть тома типа
`volumes:
- ./:/var/www/html/email-sender`
Эти тома одинаково прикреплены к контейнеру nginx и php. Все работает нормально, но когда я пытаюсь проверить в своем php-скрипте, существует ли какая-либо директория (в / var / www / html / email-sender / my-awesome-directory) PHP-функция (is_dir
или dir
) возвращает false. Я проверил разрешения, и у каждого каталога есть 777
и www-data
владелец. Есть идеи? Я прилагаю мой файл docker-compose.yml
и Dockerfile
services:
php:
build: docker/build
environment:
COMPOSER_ALLOW_SUPERUSER: 1
XDEBUG_CONFIG: "remote_host=192.168.0.104"
PHP_IDE_CONFIG: "serverName=PHPSTORM"
volumes:
- ./:/var/www/html/email-sender
web:
image: nginx:latest
ports:
- "8080:80"
volumes:
- ./:/var/www/html/email-sender
- php
и Dockerfile
RUN apt-get update && apt-get install -yq git zip unzip libpng-dev libzip-dev libpq-dev mc && \
docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql && \
docker-php-ext-install mysqli pdo pdo_mysql pdo_pgsql zip bcmath && \
echo "date.timezone = Europe/Warsaw" > /usr/local/etc/php/php.ini && \
rm -rf /var/lib/apt/lists/* && \
php -r "copy('https://getcomposer.org/installer', '/tmp/composer-setup.php');" && \
php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
rm -rf /tmp/composer-setup.php && \
pecl install xdebug && \
docker-php-ext-enable xdebug
WORKDIR /var/www/html/email-sender/
RUN chown -R www-data:www-data /var/www/html/email-sender
USER www-data