Discourse depende de PostgreSQL ejecutándose en un volumen compartido; y muchos otros archivos importantes están en ese volumen compartido (imágenes, archivos subidos, copias de seguridad, registros y más).
Si mantienes la integridad del sistema de archivos del volumen /shared, según los estándares de configuración de Discourse, entonces puedes iniciar y detener una imagen de Docker de Discourse y la aplicación del contenedor con facilidad; sin embargo, no puedes construir la aplicación (hasta donde yo sé) sin los scripts de Discourse (a menos que hagas una ingeniería inversa completa de los scripts y escribas tu propio script basado en los scripts perfectamente funcionales y soportados), porque los scripts son responsables de construir una sofisticada SPA de EmberJS (tecnología del lado del cliente) sobre Ruby on Rails (una tecnología del lado del servidor), por no mencionar la gestión de la configuración de la aplicación principal y todos los complementos. Para ser honesto, es una aplicación bastante sofisticada.
Sí, puedes iniciar un contenedor de Discourse o crear un contenedor de Discourse a partir de una imagen de Discourse sin ningún script, si (y solo si) ya has construido una imagen de Docker de Discourse perfectamente funcional que cumpla con los estándares de configuración de Discourse, incluidos los requisitos de almacenamiento persistente para la base de datos, imágenes y cargas, copias de seguridad, archivos de registro, etc. Hay muchos archivos importantes requeridos para Discourse en el volumen compartido; y por lo tanto no puedes simplemente “tomar una imagen de Docker de Discourse básica” y ejecutarla sin todos los prerrequisitos mencionados anteriormente (¡y no todo lo mencionado anteriormente!)
Espero que esto ayude.