Sto cercando di implementare i container separati, ma con un database remoto. Ho seguito le istruzioni sopra e la guida per configurare un database PostgreSQL remoto. La configurazione funziona, ma mi chiedo perché ci siano due riferimenti identici (sotto web_only e data) allo stesso database. Questo mi fa pensare di stare sbagliando qualcosa e che il container web_only non stia nemmeno usando il container data.
Se stai utilizzando un database remoto, non è necessario creare il contenitore dei dati che contiene un database. Tieni presente che sono necessari sia postgres che redis (quindi potresti aver bisogno del contenitore dei dati per questo).
Non so davvero cosa intendiate per ‘due container’, ma se presumete che due container significhino due istanze separate di Discourse, allora state cercando nella direzione sbagliata.
Questo articolo aiuta a configurare un container applicativo e un container database separati, il che è utile per gli utenti avanzati che cercano una certa flessibilità.
Se desiderate installare/ospitare due siti Discourse sulla stessa macchina, forse dovreste dare un’occhiata a Discourse multisite: Multisite configuration with Docker
Quale container era in esecuzione? Se era ‘app’, allora no: stai eseguendo una versione vecchia di discourse-setup.
Esegui un git pull prima di procedere per assicurarti di utilizzare l’ultima versione di discourse-setup.
Se hai un container ‘data’ o ‘web-only’ in esecuzione, dovresti verificare cosa ha impedito l’avvio dell’altro. Di solito, il container ‘web-only’ non si avvia perché è già in esecuzione un processo (server web) sulla porta 80/443.
Come ho detto, ho eseguito un forum autonomo per un mese. Quando ho voluto crearne uno nuovo, sono state esplorate diverse strade:
Ho provato a eseguire un contenitore autonomo separato sullo stesso server, senza successo.
Ho provato una configurazione multisito con Docker, con contenitori diversi per il web e il database, come descritto qui: Multisite configuration with Docker, senza successo.
Ho provato la tua configurazione a 2 contenitori, senza successo.
Se vuoi solo eseguire un secondo container autonomo, dovrai modificare i file YAML per utilizzare una directory e una porta diversi. Probabilmente dovrai anche disabilitare Let’s Encrypt.
Solo per informazione, se vuoi eseguire dei benchmark sulle prestazioni, non dovresti farlo su una macchina di produzione. È meglio avviare un VPS separato e utilizzarlo per i benchmark.
Cercare di eseguire due istanze separate di Discourse sulla stessa macchina potrebbe portarti a un’installazione gravemente compromessa, e questo non è ideale.
Quel comando creerà contenitori separati per i dati e per il web solo se non esiste un file app.yml al momento dell’esecuzione. Non creerà due contenitori web.
Penso di aver dovuto lasciare questa funzione non documentata. E, in realtà, non è d’aiuto spostarsi verso una configurazione a due contenitori, quindi probabilmente non appartiene affatto qui.
Forse sì. È di grande aiuto e, come discourse-setup, è destinato a uno scopo molto specifico: una nuova installazione molto standard. I miei script di installazione lo usano da parecchio tempo. Può essere un modo semplice per passare a due container, se si è disposti a eseguire un backup del vecchio container e ripristinarlo sul nuovo.
La mia preoccupazione è sempre stata che sarebbe stato difficile da supportare, poiché persone che non lo capiscono proveranno a usarlo e poi non saranno in grado di utilizzare alcuna documentazione, dato che “rebuild app” non funzionerà più, e sapere quando è necessario ricostruire il container del database è anch’esso complicato. Recentemente ho avuto un fallimento nella ricostruzione perché era richiesto Redis 3.0 e ora serve la versione 4.0. Inoltre, anche PostgreSQL ha dovuto essere aggiornato, il che richiedeva di seguire una sequenza di passaggi, ma bisognava sapere quando ricostruire il container dei dati e quando ricostruire il container web, e come modificare il percorso da quello consigliato. Tutto è andato liscio come l’olio – per me, ma cercare di spiegarlo a qualcuno che non sa cosa sia bash in un forum sarebbe frustrante per tutti.
Credo che sia meglio mantenere alta la barriera per creare un’installazione non standard, per proteggere le persone da se stesse.