В продолжение темы развертывания окружения с php 5.3 соорудил вариант на docker. Прошу любить и жаловать - проект docker-grandpa-php.
Этот вариант более легковесен, чем вариант с vagrant.
Для работы требуются установленные docker и docker-compose.
Шаги по развертыванию:
Опция MAIN_WEB_ROOT_PATH должна содержать путь к директории, которая будет смонтирована в папку /var/www образа main.
Затем можно запускать командой:
1 |
docker-compose up -d main mysql |
или
1 |
docker-compose up -d main mariadb |
После чего Ваши сайты должны открываться как обычно в браузере.
Образ main основан на Ubuntu 12.04 (LTS) и содержит Apache, php 5.3, различные расширения php (в том числе xdebug) и memcached.
Директория share монтируется к /root/share образа main.
MySQL и mariadb вынесены в отдельные образы, как это принято в docker. Для соединения с ними из контейнера main к ним нужно подключаться по их именам - mysql и mariadb. Эти имена в качестве хостов надо прописывать в веб-приложениях.
Полезные команды:
Открыть bash-терминал в главном контейнере:
1 |
docker-compose exec main bash |
Отобразить список контейнеров сборки и их статусы:
1 |
docker-compose ps |
Остановить все контейнеры текущей сборки:
1 |
docker-compose stop |
2 комментария
JustGASTДата:10:12 дп - Ноя 24, 2017
Игорь, благодарю вас за статью и за репозиторий! Один из немногих, работающих практически из коробки!
Внесу лепту:
В файле php53.conf.example у вас используется тег IfVersion, а модуль version не включается в Dockerfile
Из-за этого контейнер не стартует.
Исправление:
Добавить в main/Dockerfile строчку
RUN a2enmod version
после RUN a2enmod rewrite.
С pull request на гитхабе не разбирался, а то бы закоммитил =)
Игорь ТельменкоДата:10:20 дп - Ноя 24, 2017
Спасибо за исправление! Проверю и добавлю в репозиторий.