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 curtidas

Finalmente instalei o Discourse no meu Mac… mas está extremamente lento… tipo, super lento (20 segundos por página).
Então, minha pergunta:

  1. Isso é um problema do Docker ou do código do Discourse?

Alguém está com o mesmo problema?

1 curtida

É um problema do Docker para Mac. Configurar o Discourse nativamente no seu Mac para desenvolvimento melhorará drasticamente o desempenho.

2 curtidas

Talvez o Discourse não devesse usar Docker de forma alguma? Não vejo vantagem nisso. Sério, é apenas uma camada extra e depurar containers vai se tornar um pesadelo. Só dizendo.

O Docker padroniza o ambiente em torno do aplicativo em execução e o isola do host.

Seria um pesadelo para a equipe do Discourse dar suporte a instalações auto-hospedadas sem Docker, pois o ambiente e a configuração do host variariam amplamente entre as instâncias do Discourse — especialmente entre Mac e Linux, por exemplo.

O Docker resulta em uma pequena perda de desempenho no Linux (admitidamente maior no Mac), mas as vantagens são enormes para um projeto de código aberto como este, com uma equipe de desenvolvimento distribuída e milhares de instâncias auto-hospedadas.

Se você deseja executar um aplicativo em qualquer escala comercial (por exemplo, usando Kubernetes para orquestração de clusters), é necessário containerizar seu aplicativo para abstrair todos os detalhes de implementação do orquestrador.

1 curtida

Eu não uso Docker no meu ambiente de desenvolvimento (embora eu use Ubuntu). Na verdade, provavelmente dá mais trabalho fazer do jeito que eu faço, pois é uma dor de cabeça reconstruir do zero.

De volta a você, @cmoi,

Acabei de instalar uma nova configuração para desenvolvimento no meu Mac (para desenvolvimento, veja a postagem #44 acima) e está muito rápida. Sem problemas de nenhum tipo.

Sobre sua outra pergunta

@cmoi diz…
Talvez o Discourse não devesse usar Docker de jeito nenhum? Não vejo vantagem. Sério, é apenas uma camada extra e depurar containers vai se tornar um pesadelo. Só dizendo

Rodamos o Discourse em Docker em produção e em staging, e é ótimo. Uma razão é que leva uma fração do tempo e esforço para configurar em Docker do que “no metal”. Também é muito mais fácil restaurar em caso de falha do servidor com Docker.

Então, há muitas razões para rodar em Docker (em produção), sem dúvida.

No entanto, para desenvolvimento de plugins, finalmente migrei para uma configuração “bare metal” sem Docker e já posso ver que carregar e recarregar plugins, depurar e tudo mais vai ser muito mais rápido e mais divertido fora do Docker, com certeza.