Laravel + Docker: не удалось открыть файл в режиме добавления: не удалось открыть поток: разрешение отклонено ⇐ Php
Laravel + Docker: не удалось открыть файл в режиме добавления: не удалось открыть поток: разрешение отклонено
ИЗ php:7.4-apache # Установить зависимости ЗАПУСК apt-get update && \ apt-get install -y \ libzip-dev \ молния # Включить модули Apache ЗАПУСТИТЕ перезапись a2enmod ЗАПУСТИТЕ заголовки a2enmod ЗАПУСК a2enmod SSL RUN mkdir -p /etc/apache2/ssl # Создайте каталог SSL # Генерируем самозаверяющий сертификат RUN openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/cert-key.pem -out /etc/apache2/ssl/cert.pem \ -subj "/C=US/ST=Калифорния/L=Нью-Йорк/O=Zylu/OU=Zylu/CN=zylu.co" КОПИРОВАНИЕ ./apache/000-default.conf /etc/apache2/sites-available/000-default.conf # Установите расширения PHP ЗАПУСТИТЕ docker-php-ext-install pdo_mysql zip ENV APACHE_DOCUMENT_ROOT=/var/www/html/public ВЫПОЛНИТЕ sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf ВЫПОЛНИТЕ sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf # Скопируйте код приложения КОПИРОВАТЬ. /вар/www/html # Устанавливаем рабочий каталог РАБОЧИЙ ПАРАМЕТР /var/www/html RUN chown -R www-data:www-data /var/www/html/storage \ && chown -R www-data:www-data /var/www/html/bootstrap/cache ВЫПОЛНИТЬ chmod -R 777 /var/www/html/storage \ && chmod -R 777 /var/www/html/bootstrap/cache # Откройте порты 80 и 443 и запустите Apache РАЗВЕРНУТЬ 80 РАЗВЕРНУТЬ 443 Я столкнулся с ошибкой разрешения при развертывании контейнера Docker в DigitalOcean. В частности, сообщалось об ошибке:
Поток или файл «/var/www/html/storage/logs/laravel.log» не удалось открыть в режиме добавления: не удалось открыть поток: разрешение отклонено Интересно, что эта проблема не возникает при локальной сборке контейнера на моем Mac M1 Air. Чтобы решить проблему в DigitalOcean, я временно применил обходной путь, используя следующую команду:
docker exec -u 0 -it /bin/bash ВЫПОЛНИТЬ chmod -R 777 /var/www/html/storage Это решает проблему с разрешениями, но я ищу решение, которое работает напрямую из файла Docker, потому что я хотел бы автоматизировать развертывание.
Кроме того, эта проблема возникает только в цифровом океане, когда я пытаюсь создать контейнер локально на своем Mac M1 Air, этой проблемы нет
ИЗ php:7.4-apache # Установить зависимости ЗАПУСК apt-get update && \ apt-get install -y \ libzip-dev \ молния # Включить модули Apache ЗАПУСТИТЕ перезапись a2enmod ЗАПУСТИТЕ заголовки a2enmod ЗАПУСК a2enmod SSL RUN mkdir -p /etc/apache2/ssl # Создайте каталог SSL # Генерируем самозаверяющий сертификат RUN openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/cert-key.pem -out /etc/apache2/ssl/cert.pem \ -subj "/C=US/ST=Калифорния/L=Нью-Йорк/O=Zylu/OU=Zylu/CN=zylu.co" КОПИРОВАНИЕ ./apache/000-default.conf /etc/apache2/sites-available/000-default.conf # Установите расширения PHP ЗАПУСТИТЕ docker-php-ext-install pdo_mysql zip ENV APACHE_DOCUMENT_ROOT=/var/www/html/public ВЫПОЛНИТЕ sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf ВЫПОЛНИТЕ sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf # Скопируйте код приложения КОПИРОВАТЬ. /вар/www/html # Устанавливаем рабочий каталог РАБОЧИЙ ПАРАМЕТР /var/www/html RUN chown -R www-data:www-data /var/www/html/storage \ && chown -R www-data:www-data /var/www/html/bootstrap/cache ВЫПОЛНИТЬ chmod -R 777 /var/www/html/storage \ && chmod -R 777 /var/www/html/bootstrap/cache # Откройте порты 80 и 443 и запустите Apache РАЗВЕРНУТЬ 80 РАЗВЕРНУТЬ 443 Я столкнулся с ошибкой разрешения при развертывании контейнера Docker в DigitalOcean. В частности, сообщалось об ошибке:
Поток или файл «/var/www/html/storage/logs/laravel.log» не удалось открыть в режиме добавления: не удалось открыть поток: разрешение отклонено Интересно, что эта проблема не возникает при локальной сборке контейнера на моем Mac M1 Air. Чтобы решить проблему в DigitalOcean, я временно применил обходной путь, используя следующую команду:
docker exec -u 0 -it /bin/bash ВЫПОЛНИТЬ chmod -R 777 /var/www/html/storage Это решает проблему с разрешениями, но я ищу решение, которое работает напрямую из файла Docker, потому что я хотел бы автоматизировать развертывание.
Кроме того, эта проблема возникает только в цифровом океане, когда я пытаюсь создать контейнер локально на своем Mac M1 Air, этой проблемы нет
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Laravel: (отправка заданий) Не удалось открыть поток: разрешение отклонено.
Anonymous » » в форуме Php - 0 Ответы
- 27 Просмотры
-
Последнее сообщение Anonymous
-
-
-
(xampp/Windows) move_uploaded_file(): не удалось открыть поток: разрешение отклонено
Anonymous » » в форуме Php - 0 Ответы
- 42 Просмотры
-
Последнее сообщение Anonymous
-
-
-
(xampp/Windows) move_uploaded_file(): не удалось открыть поток: разрешение отклонено
Anonymous » » в форуме Apache - 0 Ответы
- 118 Просмотры
-
Последнее сообщение Anonymous
-
-
-
(xampp/Windows) move_uploaded_file(): не удалось открыть поток: разрешение отклонено
Anonymous » » в форуме Php - 0 Ответы
- 118 Просмотры
-
Последнее сообщение Anonymous
-
-
-
(xampp/Windows) move_uploaded_file(): не удалось открыть поток: разрешение отклонено
Anonymous » » в форуме Apache - 0 Ответы
- 122 Просмотры
-
Последнее сообщение Anonymous
-