Running Discourse on Docker for Mac

Here’s the PR :wink:

I know; I too have spent too much time debugging docker-sync than I care to admit. This new approach, albeit not as fast, requires zero additional effort to setup and is quite stable from my own experiences!

9 Me gusta

Finalmente instalé Discourse en mi Mac… pero es extremadamente lento… como si estuviera tardando muchísimo (20 segundos por página).Así que mi pregunta es:

  1. ¿Es esto un problema de Docker o del código de Discourse?

¿Alguien más tiene el mismo problema?

1 me gusta

Es un problema de Docker para Mac. Configurar Discourse de forma nativa en tu Mac para desarrollo mejorará el rendimiento drásticamente.

2 Me gusta

Quizás Discourse no debería usar Docker en absoluto. No veo la ventaja. En serio, solo es una capa extra y depurar contenedores se volverá un dolor de cabeza. Solo digo.

Docker estandariza el entorno alrededor de la aplicación en ejecución y la aísla del host.

Sería una pesadilla para el equipo de Discourse dar soporte a instalaciones autoalojadas sin Docker, ya que el entorno y la configuración del host variarían enormemente entre las instancias de Discourse, especialmente entre Mac y Linux, por ejemplo.

Docker tiene un pequeño impacto en el rendimiento en Linux (admitido que es mayor en Mac), pero las ventajas son enormes para un proyecto de código abierto como este, con un equipo de desarrollo distribuido y miles de instancias autoalojadas.

Si quieres ejecutar una aplicación a cualquier escala comercial (por ejemplo, usando Kubernetes para la orquestación de clústeres), necesitas contenerizar tu aplicación para abstraer todos los detalles de implementación del orquestador.

1 me gusta

No uso Docker en mi entorno de desarrollo (aunque estoy en Ubuntu). De hecho, probablemente sea más trabajo hacerlo a mi manera, ya que es un dolor de cabeza reconstruir todo desde cero.

Te devuelvo el saludo, @cmoi,

Acabo de instalar una nueva configuración para desarrollo en mi Mac (para desarrollo, consulta la publicación #44 anterior) y funciona muy rápido. Sin ningún problema.

Respecto a tu otra pregunta:

@cmoi dice…
Quizás Discourse no debería usar Docker en absoluto. No veo la ventaja. En serio, es solo una capa adicional y depurar contenedores se volverá una pesadilla. Solo digo.

Ejecutamos Discourse en Docker en producción y en entornos de staging, y es excelente. Una razón es que configurar en Docker requiere una fracción del tiempo y esfuerzo que hacerlo “directamente en el hardware”. Además, es mucho más fácil restaurar el sistema en caso de un fallo del servidor cuando se usa Docker.

Así que, sin duda, hay muchas razones para ejecutar en Docker (en producción).

Sin embargo, para el desarrollo de plugins, finalmente cambié a una configuración “bare metal” sin Docker y ya puedo ver que cargar y recargar plugins, depurar y todo ese tipo de cosas será mucho más rápido y divertido fuera de Docker, sin duda.