Dev (Back & Front)ARTIGO

Instalando o Elasticsearch em um container Docker

O autor apresenta um passo a passo ensinando a criar um ambiente com Elasticsearch utilizando o Docker.

Instalando o Elasticsearch em um container Docker
Imagem: Thiago Adriano

Recentemente eu criei um artigo apresentando o Elasticsearch. Hoje irei demonstrar como criar um ambiente com Elasticsearch utilizando o Docker. Caso tenha interesse em ler meu primeiro artigo, segue o link:

O primeiro passo será baixar a imagem do Elastic. Para isso, abra um terminal no seu computador e execute o comando abaixo:

docker pull docker.elastic.co/elasticsearch/elasticsearch

Assim que o comando finalizar, execute docker images para verificar se a imagem está no seu host. Abaixo você tem uma imagem demonstrando esse passo:

docker images

Agora, para rodar o Elastic em um container, execute o comando abaixo no seu terminal:

docker run --restart=always -d --name elasticsearch -p 
9200:9200 -e "http.host=0.0.0.0" -e "transport.host=127.0.0.1"
docker.elastic.co/elasticsearch/elasticsearch:5.5.2

Analisando a instrução acima, você tem:

  • — restart=always: para que o seu container suba sempre que o Docker daemon parar por algum motivo
  • -d: para que ele rode em background
  • — name elasticsearch: nome do container
  • -p 9200:9200: portas mapeadas do nosso host com o container

Agora execute docker ps no seu terminal para verificar se o seu container foi criado corretamente. Abaixo você tem uma imagem demonstrando esse passo:

docker ps (executando elasticsearch)

Caso tudo esteja OK, abra no seu navegador o endereço http://localhost:9200/. Serão solicitados os dados abaixo de acesso:

user: elastic
password: changeme

Após o login você irá receber as informações abaixo, referentes a sua implementação:

Manipulando dados no Elasticsearch

Como mencionado no passo anterior, o Elastic nos permite trabalhar com apis Rest. Para que você possa ter um overview completo, vamos utilizar o curl para inserir e listar alguns dados.

Abra um terminal no seu computador e execute o comando abaixo:

curl -u elastic:changeme -XGET 'http://localhost:9200/'

Ele deve retornar os mesmos dados do passo anterior no browser.

retorno elasticseatch (utilizando o curl)

Agora vamos enviar os nossos primeiros registros para o Elastic. Para isso, execute o comando abaixo no seu terminal:

curl -u elastic:changeme -XPUT http://localhost:9200/person/users/1?pretty -d '{
"firstname" : "Thiago",
"lastname" : "Adriano"
}'

Analisando o trecho de código acima e tendo como base o inicio deste artigo, você tem:

  • /person: será o seu index (no modelo relacional o seu banco de dados)
  • /users: será o seu type (no modelo relacional a sua tabela)

Abaixo você tem uma imagem demonstrando esse passo:

primeiro registro no (Elasticsearch)

Para retornar esse registro, execute o comando abaixo no seu terminal:

curl -u elastic:changeme -XGET http://localhost:9200/person/users/1?pretty

Abaixo você tem uma imagem demonstrando esse passo:

retornando dados do (Elasticsearch)

Para deletar esse registro, execute o comando abaixo no seu terminal:

curl -u elastic:changeme -XDELETE http://localhost:9200/person/users/1?pretty

Bom, com isso nós finalizamos mais um artigo. Espero que tenham gostado, e até a próxima, pessoal!

Referências

Microsoft (MVP), atualmente trabalha como Arquiteto de Software para TV Bandeirantes. Nesses últimos anos, focou nas tecnologias criadas pela Microsoft, mas sempre esteve antenado para as novas tecnologias que estão surgindo no mercado. Em um breve resumo, é uma pessoa apaixonada pelo que faz, tem a sua profissão como hobby.

Ver perfil