Discourse dipende da PostgreSQL in esecuzione su un volume condiviso; molti altri file importanti si trovano in quel volume condiviso (immagini, file caricati, backup, log e altro).
Se mantieni l’integrità del file system del volume /shared, in base agli standard di configurazione di Discourse, puoi avviare e fermare un’immagine Docker di Discourse e l’applicazione container con facilità; tuttavia, non puoi costruire l’applicazione (per quanto ne so) senza gli script di Discourse (a meno che tu non faccia un’ingegneria inversa completa degli script e scriva il tuo script basato sugli script perfettamente funzionanti e supportati), perché gli script sono responsabili della costruzione di una sofisticata SPA EmberJS (tecnologia lato client) su Ruby on Rails (una tecnologia lato server), per non parlare della gestione della configurazione dell’applicazione principale e di tutti i plugin. A dire il vero, è un’applicazione piuttosto sofisticata.
Sì, puoi avviare un container Discourse o creare un container Discourse da un’immagine Discourse senza alcun script, se (e solo se) hai già costruito un’immagine Docker Discourse perfettamente funzionante che rispetta gli standard di configurazione di Discourse, inclusi i requisiti di archiviazione persistente per il database, le immagini e i caricamenti, i backup, i file di log, ecc. Ci sono molti file importanti richiesti da Discourse nel volume condiviso; quindi non puoi semplicemente “prendere un’immagine Docker Discourse standard” e avviala senza tutti i prerequisiti richiesti menzionati sopra (e non tutti sono stati menzionati sopra!)
Spero che questo sia d’aiuto.