Discourse supporta più macchine (ciascuna con un singolo container Docker) dietro un load balancer autonomo?
Ho bisogno di una configurazione di Discourse che gestisca il guasto di un server, quindi la mia risposta standard è configurare 3 server dietro un load balancer (con il LB che gestisce il certificato SSL).
Ho configurato server PostgreSQL e Redis esterni autonomi per Discourse. (Tutto questo è su Google Cloud Platform). Sto utilizzando il launcher di Discourse per configurare il container Docker dedicato solo al web.
Discourse supporta l’esecuzione di più container quando ogni container si trova su una macchina diversa?
Dovrei semplicemente copiare il container Docker creato dalla prima macchina sulle altre macchine?
Come vengono gestiti i loghi caricati?
I loghi caricati, i favicon, ecc. sono archiviati nel database?
Ultima domanda: il contenitore Docker è monitorato? Se il contenitore Docker si arresta per qualsiasi motivo, launcher ha configurato qualcosa per riavviarlo?
Ok. Quindi ora ho un Discourse funzionante su una singola macchina. Ho altre due macchine. Il volume condiviso dell’host Docker è puntato a una directory NFS per consentire a tutte le macchine di accedere ai file caricati (in particolare loghi, ecc.).
Ho copiato le immagini Docker sulle macchine 2 e 3 (docker save -o app-image local_discourse/app e poi docker load -i app-image).
Avevo l’impressione che un semplice ./launcher start app avrebbe funzionato, ma tenta di verificare containers/app.yml.
Incontrerò problemi se permetto che app.yml venga verificato (e le modifiche apportate) al database dalla macchina 2 e 3?
C’è un modo migliore per avere tre macchine che eseguono un’unica configurazione?
Usa – credo sia ./launcher start-command app – sulla macchina completamente configurata (la “macchina di build”) per ottenere una riga di comando Docker completa
Copia il file app.yml ed esegui quello che hai appena provato (launcher start).