Привет, Джей @pfaffman! Спасибо за этот пост и другие сообщения на тему «два контейнера», включая статьи Сэма по этой же теме.
Вопрос:
Мы пытаемся настроить два контейнера, как вы упоминали: один для data и один для web-only, но на macOS у нас возникло множество проблем с запуском этой конфигурации.
Однако прежде чем мы начнём отлаживать эту «конфигурацию с двумя контейнерами» на macOS или Ubuntu, мы хотим убедиться, что делаем это по правильной причине.
Причина, по которой мы хотим выполнить эту «танцеву с двумя контейнерами», заключается в том, чтобы сайт не падал при пересборке веб-приложения, например при установке плагина. Кроме того, когда мы вносим изменения в собственный плагин, мы заметили, что иногда единственный способ убедиться, что наши изменения работают, — это пересобрать приложение (это уже отдельная история).
Также я сталкиваюсь с трудностями при настройке «быстрой и удобной» среды веб-разработки, но это тоже тема для другого дня.
Итак, мой вопрос: действительно ли конфигурация с «двумя контейнерами» значительно сокращает время простоя при пересборке только веб-части приложения?
Разве это не правильный подход к решению задачи?
Когда мы устанавливаем плагин или вносим в него изменения, нам нужно пересобирать только файл yml для «web-only», а не файл yml для данных?
Мы пришли из мира LAMP-форумов, где изменения в плагинах обычно вносятся в реальном времени на работающем сайте (без простоя, если только мы не допустим грубой ошибки). Также у нас есть опыт работы с VueJS-приложениями, где мы собираем приложение на рабочем столе, а затем просто загружаем его и заменяем старую версию новой — обновление происходит практически без простоя. Однако с Discourse мы сталкиваемся с простоями, чего мы хотим избежать (даже нескольких секунд).
Демонстрирует ли решение с «двумя контейнерами» значительное улучшение времени простоя в следующих случаях: (1) при пересборке приложения (для установки плагинов, внесения изменений в код и т. д.) или (2) при восстановлении из полной резервной копии?
Мне кажется, меня снова «накажут» за этот вопрос, поскольку мы ищем способ запустить Discourse в продакшене и вносить изменения практически без простоя, но пока не нашли способа сделать то, что так легко реализуется в LAMP или VueJS-приложениях.
Отсюда и наши трудности / интерес к методу с «двумя контейнерами», который нам пока не удалось запустить.
Спасибо!