Данный пример взят из реального сайта, который работает в продакшене.
Это самая простая схема, когда у вас одна нода (один сервер) и вы не используете никакие оркестраторы аля кубернетес.
Вы можете развернуть данный пример как на виртуалке, так и на реальном сервере.
Схема работы:
- Копируете файлы сайта в
/var/www/site.ru
- Docker проект в папку
/var/www/docker.site.ru
- Поднимаете командой
docker-compose up -d
- Разворачиваете БД
Для разработки рекомендуется разделять docker-compose и запускать на разработке с указанием файла разработки:
docker-compose -f docker-compose.develop.yml up -d
Преимущества данной схемы:
- Сборка проверена в бою на большом кол-ве сайтов
- Производительность конфигурации составляет 84.43 (Selectel, 1 ядро, 2 Гб RAM, 10 Гб SSD)
- Все сервисы авто стартуют и автоматически перезагружаются в случае ошибки
- Любой сервис легко обновить/заменить
- БД бекапится по расписаню
- Файлы папки upload бекапятся по расписанию
- Настроена SMTP почта
- Настроен CRON
- Настроены разумные ограничения на использование ресурсов
Пишите вопросы/предложения в issue