Repolode
TrafeX

TrafeX/docker-php-nginx

Небольшой Docker-образ на Alpine Linux с PHP-FPM 8.5 и Nginx для запуска PHP-приложений из коробки.

Звёзды
1,529
Форки
759
Открытые issues
2
Последний коммит
7 дней назад

Что это?

Этот проект — Docker-образ с PHP-FPM 8.5 и Nginx 1.28 на Alpine Linux. С ним можно запускать PHP-приложения, не собирая веб-сервер самостоятельно. Достаточно подключить каталог с кодом к /var/www/html. Файлы конфигурации Nginx, PHP и PHP-FPM можно переопределить с помощью volume mounts.

Образ рассчитан на небольшой размер и низкое потребление ресурсов в простое. Он собран для AMD64, ARMv6, ARMv7 и ARM64 и занимает около 40 МБ. В PHP-FPM используется менеджер процессов on-demand, поэтому процессы запускаются только при наличии трафика. Nginx, PHP-FPM и supervisord работают от непривилегированного пользователя nobody, а логи всех сервисов отправляются в вывод контейнера и доступны через docker logs.

Репозиторий задуман как наглядный пример запуска Nginx и PHP-FPM в контейнере. В руководствах описано, как добавить Xdebug и Composer, настроить передачу реального IP клиента за балансировщиком нагрузки и отправку электронной почты.

Ключевые возможности

  • 01Запускает PHP-FPM 8.5 и Nginx 1.28 на Alpine Linux в небольшом образе размером около 40 МБ.
  • 02Поддерживает платформы AMD64, ARMv6, ARMv7 и ARM64.
  • 03Использует менеджер процессов PHP-FPM on-demand, чтобы потреблять ресурсы только при наличии трафика.
  • 04Запускает Nginx, PHP-FPM и supervisord от непривилегированного пользователя nobody.
  • 05Отправляет логи всех сервисов в вывод контейнера.
  • 06Позволяет переопределять настройки Nginx, PHP и PHP-FPM, подключая файлы конфигурации.

Сценарии использования

  • Запуск PHP-приложения в контейнере без сборки собственного образа веб-сервера.
  • Запуск PHP-сайтов на маломощных ARM-устройствах, например платах Raspberry Pi.
  • Использование минимального базового образа PHP как основы для собственной конфигурации Docker.
  • Изучение того, как Nginx и PHP-FPM взаимодействуют в контейнере.

Быстрый старт

  1. 1

    Запустите контейнер с помощью Docker

    docker run -p 80:8080 trafex/php-nginx
  2. 2

    Подключите собственный код, чтобы раздавать его с помощью PHP-FPM и Nginx

    docker run -p 80:8080 -v ~/my-codebase:/var/www/html trafex/php-nginx

Что важно знать

  • Это минимальный пример образа, настроенный только для пакетов PHP 8.5 и Nginx 1.28 в Alpine.
  • Чтобы настроить конфигурацию, необходимо подключить собственные файлы конфигурации к контейнеру.

Темы

Частые вопросы

Что такое docker-php-nginx?
Небольшой Docker-образ на Alpine Linux с PHP-FPM 8.5 и Nginx для запуска PHP-приложений из коробки. Этот проект — Docker-образ с PHP-FPM 8.5 и Nginx 1.28 на Alpine Linux. С ним можно запускать PHP-приложения, не собирая веб-сервер самостоятельно. Достаточно подключить каталог с кодом к /var/www/html. Файлы конфигурации Nginx, PHP и PHP-FPM можно переопределить с помощью volume mounts.
docker-php-nginx можно использовать бесплатно? Какая у него лицензия?
docker-php-nginx распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
docker-php-nginx всё ещё поддерживается?
Активно поддерживается. Последний коммит в docker-php-nginx — 31 окт. 2026 г..
Для чего можно использовать docker-php-nginx?
Запуск PHP-приложения в контейнере без сборки собственного образа веб-сервера. Запуск PHP-сайтов на маломощных ARM-устройствах, например платах Raspberry Pi. Использование минимального базового образа PHP как основы для собственной конфигурации Docker. Изучение того, как Nginx и PHP-FPM взаимодействуют в контейнере.
Как установить docker-php-nginx?
Запустите контейнер с помощью Docker: docker run -p 80:8080 trafex/php-nginx Подключите собственный код, чтобы раздавать его с помощью PHP-FPM и Nginx: docker run -p 80:8080 -v ~/my-codebase:/var/www/html trafex/php-nginx
Где скачать docker-php-nginx?
Исходный код и инструкции по установке — на GitHub: https://github.com/TrafeX/docker-php-nginx

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты