1001Ferramentas
🔍Dev

docker-compose Elasticsearch

Gere um docker-compose pronto para Elasticsearch em modo single-node, com memória e volume configurados. Suba sua engine de busca local com um único comando.

YAML

Elasticsearch em um contêiner para desenvolvimento

Subir um Elasticsearch local para desenvolver costuma travar em duas coisas: ele tenta formar cluster e fica esperando outros nós, e recusa a partida por causa da segurança ativada por padrão nas versões recentes. As duas se resolvem com variáveis de ambiente, e é isso que separa um arquivo que sobe em segundos de uma tarde de tentativa e erro.

Informe a versão e a página monta o serviço com as duas opções: o tipo de descoberta em nó único, que faz o Elasticsearch desistir de procurar companheiros e se eleger sozinho, e a desativação da camada de segurança, que remove a exigência de senha e certificado. A porta da API fica exposta para a aplicação alcançar.

Essa configuração é explicitamente de desenvolvimento e não deve chegar perto de produção — sem autenticação, qualquer um na rede lê e apaga índices. Vale também saber do limite de memória virtual do sistema: o Elasticsearch exige um valor mínimo de áreas de mapeamento que várias instalações de Linux não têm por padrão, e o sintoma é o contêiner morrer logo após subir com uma mensagem sobre esse limite.

Perguntas frequentes

Por que ele morre logo depois de subir?
A causa mais frequente é o limite de áreas de mapeamento de memória do sistema, abaixo do que o Elasticsearch exige. É configuração do host, não do contêiner, e precisa ser aumentada por comando de sistema. A segunda causa é falta de memória: o padrão de heap costuma ser generoso demais para uma máquina de desenvolvimento.
Como limito a memória que ele usa?
Pela variável de ambiente de opções da máquina virtual Java, definindo os tamanhos mínimo e máximo de heap iguais. Em desenvolvimento, algo em torno de 512 megabytes costuma bastar. Deixar o padrão faz o contêiner reservar uma fatia grande da memória da máquina sem necessidade.
Preciso de um painel junto?
Para inspecionar índices, o Kibana ajuda bastante, e sobe como um segundo serviço apontando para o endereço do Elasticsearch. Mas ele pesa: para uso pontual, consultar a API pelo terminal ou por um cliente HTTP resolve sem dobrar o consumo de memória.

Ferramentas Relacionadas