Почему "rebuild" так тесно связан со статусом запуска контейнера?

Rebuild — это универсальное обновление, которое может:

  • Обновить исходный код Discourse
  • Обновить зависимости на уровне ОС, например, основную версию Ruby
  • Обновить PostgreSQL до более новых и несовместимых версий, при этом автоматически обновится формат диска с данными для новой версии
  • Обновить Docker-образ. Например, в начале этого года мы перешли с Ubuntu 16.04 на последнюю версию Debian, и для пользователя это осталось прозрачным: достаточно ввести ./launcher rebuild app.

Пересборка не требуется постоянно; она обязательна лишь несколько раз в год, когда происходят масштабные обновления зависимостей. Для всех остальных обновлений можно обеспечить обновление без простоя, нажав на веб-обновление в административном интерфейсе.

Для более продвинутых тем по DevOps вы можете ознакомиться с:

и многим другим в канале #howto:sysadmin