¿Discourse admite múltiples máquinas (cada una con un único contenedor Docker) detrás de un balanceador de carga independiente?
Necesito una configuración de Discourse que maneje la falla de un servidor, por lo que mi respuesta estándar es configurar 3 servidores detrás de un balanceador de carga (con el balanceador manejando el certificado SSL).
He configurado servidores externos independientes de PostgreSQL y Redis para Discourse. (Todo esto está en Google Cloud Platform). Estoy utilizando el lanzador de Discourse para configurar el contenedor Docker solo para la web.
¿Discourse admite ejecutar múltiples contenedores cuando cada contenedor está en una máquina diferente?
¿Debería simplemente copiar el contenedor Docker creado desde la primera máquina a las otras máquinas?
¿Cómo se manejan los logotipos cargados?
¿Los logotipos cargados, los favicons, etc., se almacenan en la base de datos?
Una última pregunta. ¿Se supervisa el contenedor de Docker? Si el contenedor de Docker se detiene por alguna razón, ¿ha configurado launcher algo para reiniciarlo?
De acuerdo. Ahora tengo un Discourse funcional en una sola máquina. Tengo otras dos máquinas. El volumen compartido del contenedor Docker está apuntando a un directorio NFS para permitir que todas las máquinas accedan a las subidas (especialmente logotipos, etc.).
He copiado las imágenes de Docker a las máquinas 2 y 3 (docker save -o app-image local_discourse/app y luego docker load -i app-image).
Tenía la impresión de que un simple ./launcher start app funcionaría, pero intenta verificar containers/app.yml.
¿Tendré problemas si permito que el app.yml sea verificado (y se realicen cambios) en la base de datos desde las máquinas 2 y 3?
¿Existe una mejor manera de tener tres máquinas ejecutando una sola configuración?
Usa – creo que es ./launcher start-command app – en la máquina completamente configurada (la “máquina de compilación”) para obtener una línea de comandos completa de Docker.
Copia el archivo app.yml y realiza lo que acabas de intentar (launcher start).