РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗dcPhDvInr 16 of 30 menu
◀ ▶

Введение в разработку PHP в Docker

Готовый образ неудобен, когда строку в сценарии меняют каждую минуту. Сборка тянет время, а правка на диске ждёт сразу после сохранения. Раздел про повседневную работу рядом с контейнерами, а не про один раз собранный шаблон.

Папку проекта на хосте монтируют в /var/www/html и у nginx, и у php:8.5-fpm. Файл site/index.php меняют в редакторе, страница на 8080 обновляется без нового образа. Порт FPM снаружи не публикуют - браузер ходит только к веб-серверу.

Каталог vendor держат анонимным томом на /var/www/html/vendor у сервиса PHP. Иначе пустая папка с хоста затирает зависимости, которые composer install положил в образ. Том кода и том для vendor работают вместе.

Переменные PHP передают значение в getenv без правки файла на диске. Строка в environment у службы app меняет ответ при подъёме проекта, если сценарий уже читает имя переменной.

Логи PHP - текст из error_log и сообщений интерпретатора в фоне. Логи Nginx - строки о запросах к сайту; их пишет веб-сервер, а не PHP. Обе журнала читают через docker compose logs по имени службы.

Пересборка образа нужна, когда меняют Dockerfile, а не текст сценария на смонтированном томе. Флаг --build у подъёма заново прогоняет шаги сборки. Уроки раздела разбирают каждый приём отдельно на связке nginx и FPM и ответе hello на localhost:8080.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить