Perché "rebuild" è così strettamente legato allo stato di esecuzione del container?

Rebuild è un aggiornamento generico che può:

  • Aggiornare il codice sorgente di Discourse
  • Aggiornare le dipendenze a livello di sistema operativo, come la versione principale di Ruby
  • Aggiornare a versioni più recenti e incompatibili di PostgreSQL, gestendo automaticamente l’aggiornamento del formato del disco dati per la nuova versione
  • Aggiornare l’immagine Docker. Ad esempio, all’inizio di quest’anno siamo passati da Ubuntu 16.04 all’ultima versione di Debian, e tutto è trasparente per l’utente: basta digitare ./launcher rebuild app.

I rebuild non sono necessari in ogni momento; sono obbligatori solo alcune volte l’anno quando avviene un aggiornamento massiccio delle dipendenze. Per tutti gli altri aggiornamenti, è possibile eseguire aggiornamenti senza interruzioni (zero downtime) cliccando sull’aggiornatore web nell’interfaccia di amministrazione.

Per ulteriori punti di tipo “devops”, puoi provare:

e molto altro ancora in #howto:sysadmin