Docker-compose настройка для сайта NGINX + MYSQL + PHP-FPM

Материал из Wiki МИАЦ ВО
Версия от 11:37, 29 февраля 2020; Misha (обсуждение | вклад) (Новая страница: «Основа статьи взята [https://phptoday.ru/post/gotovim-lokalnuyu-sredu-docker-dlya-razrabotki-na-php тут]. <br> У нас есть сайт, к…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Основа статьи взята тут.
У нас есть сайт, который мы хотим быстро перенести на другой сервер. Для этого мы будем использовать docker + docker-compose

Что будет уметь наша сборка?

Простейшая среда разработки на php включает в себя следующие компоненты:

  1. Собственно сам PHP, последний стабильный релиз 7.4;
  2. Composer
  3. Mysql, последняя стабильная версия 8;
  4. Nginx

Также наша конфигурация будет поддерживать сколько угодно хостов nginx (см. проектов). Добавление новых компонентов в стек обычно не составляет труда, если это не заморская диковина конечно, но об этом позже.

Файловая структура

Переходим к организации папок и файлов нашей сборки. Создадим на диске какую-нибудь директорию, которая будет корневой для нашей сборки и в ней по порядку создаем следующие директории:

  1. www - в этой папке будут лежать файлы наших проектов, по директории на каждый проект;
  2. mysql и mysql-files - в этой папке будут храниться файлы наших баз данных;
  3. logs - здесь будет собриать логи из разных образов. В ней расположены 2 папки mysql и nginx;
  4. hosts - здесь будут храниться файлы конфигурации nginx для наших проектов;
  5. images - папка с нашими образами - компонентами нашей системы.

Еще не помешает создать дефолтный проект, чтобы проверить работоспособность нашей сборки когда все запустится. В директории www создадим директорию тестового проекта - hello.dev с одим единственным файлом index.php. Содердимое файла index.php классическое:

<?php phpinfo();

Также в корне будет лежать наш docker-compose.yml - сердце любой docker-конфигурации :)