Skip to content

Образы веб-серверов с поддержкой PHP для Docker

License

Notifications You must be signed in to change notification settings

dobrosite/docker-php

Repository files navigation

Образы PHP для разработки и тестирования сайтов

Целью этой библиотеки образов является предоставление разработчикам (в первую очередь разработчикам Добро.сайта) окружения для разработки и тестирования сайтов на PHP с использованием Docker, позволяющего решать следующие задачи.

  1. Выбор версии PHP (включая уже официально неподдерживаемые).
  2. Гибкая настройка PHP (выбор подключённых расширений).
  3. Готовые к работе инструменты разработки и отладки.

Принципы

  1. Единообразие. Все образы делаются насколько это возможно похожими друг на друга по составу ПО, используемым версиям, настройкам и т. п.
  2. Настрой сам. Образы содержат широкий набор расширений PHP, приложений и инструментов, но по умолчанию подключены только самые необходимые. Использование всего остального остаётся на усмотрение разработчика.

Подключение и использование

Образы рассчитаны на использование с docker-compose, поэтому все примеры даются для него.

Пример файла docker-compose.yml:

version: '3'
services:
    web:
        image: dobrosite/php:5.3-apache
        environment:
            FILE_OWNER_UID: 1000
            APACHE_MODULES: env rewrite
            PHP_EXTENSIONS: iconv mstring pdo_mysql
            PHP_INI_SETTINGS: memory_limit=-1 date.timezone=Europe/Moscow
            NULLMAILER_REMOTES: mail.example.com smtp 
        ports:
            - '80:80'

Переменные окружения

Некоторые настройки можно произвести через переменные окружения.

  • APACHE_MODULES — разделённый пробелами список модулей, которые следует подключить. Имена должны указываться без приставки mod_.
  • FILE_OWNER_UID — UID для пользователя www-data, от которого работает веб-сервер.
  • PHP_EXTENSIONS — разделённый пробелами список расширений PHP, которые следует подключить.
  • PHP_INI_SETTINGS — разделённый пробелами список параметров php.ini, которые следует использовать.
  • NULLMAILER_REMOTES — содержимое файла /etc/nullmailer/remotes.

Файлы настройки

В дополнение к переменным окружения вы можете разместить по указанным путям файлы с различными настройками:

  • /etc/apache2/conf-enabled/*.conf — дополнительные файлы настройки для веб-сервера Apache HTTP;
  • /etc/apache2/sites-enabled/*.conf — файлы виртуальных хостов для веб-сервера Apache HTTP;
  • /usr/local/etc/php/ — папка для файлов php.ini;
  • /usr/local/etc/php/conf.d/ — папка для подключения и настройки расширений PHP.

Содержимое образов

Общее для всех образов

Образы *-apache

About

Образы веб-серверов с поддержкой PHP для Docker

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages