Outils pour utilisateurs

Outils du site


software:applications:elasticsearch:installation_docker

Installer elasticsearch via Docker

Ce wiki introduit un déploiement d'elasticsearch en environnement de développement. La documentation officielle pour déployer le service en production est disponible ici.

Récupérer l'image officielle:

docker pull elasticsearch:7.10.1

Création d'un conteneur exécutant un seul noeud

$ docker run -d --name elastic--net labinfo -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.10.1

Le serveur écoute sur le port 9200, si on fait un GET à l'aide de cURL, le serveur retourne son statut:

curl -XGET http://localhost:9200
{
  "name" : "0bb59254b378",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "cIHCGqSIQWOPgjwxfQBySQ",
  "version" : {
    "number" : "7.10.1",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "1c34507e66d7db1211f66f3513706fdf548736aa",
    "build_date" : "2020-12-05T01:00:33.671820Z",
    "build_snapshot" : false,
    "lucene_version" : "8.7.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Conservation des données

Pour que les données introduites dans elasticsearch puissent être enregistrées indépendament du conteneur d'application ( qui peut être supprimé et reconstruit après reparamétrage ou changement de version), il va falloir créer un volume. Le plus simple pour créer un service et conserver les données est d'utiliser docker-compose

Execution single node (dev)

docker-compose.yml
version: "3.3"

networks:
  # Nomme explicitement le réseau par défaut utilisé par les services définis dans ce fichier
  vnet:

volumes:
  data01:
    driver: local

services:
  esdb:
    image: elasticsearch:7.16.2
    environment:
      - node.name=es01
      - discovery.type=single-node
    ports:
      - 9200:9200
    networks:
      - vnet
    volumes:
      - data01:/usr/share/elasticsearch/data

Exécution multi-nodes

Pour un déploiement en production, 3 nodes doivent exister pour que les shards puissent être répliqués.

source: https://www.elastic.co/guide/en/elasticsearch/reference/7.5/docker.html#docker-compose-file

Références

software/applications/elasticsearch/installation_docker.txt · Dernière modification : 2021/12/26 12:45 de yoann