Back-End

10 jul, 2018

Instalando o Elasticsearch em um container Docker

Publicidade

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