Docker has made life really simple, you can run anything locally without worrying about compatibility issues.
The same goes for the ElasticSearch, We can run it easily through docker.
Get the docker image downloaded of the preferred version of elastic search and run it through docker-compose.yml.
Though we can run an elastic search on multiple nodes to distribute data with master-servant architecture, but there are many cases where you just want to run one node and that can be done through a single configuration in docker-compose.yml.
discovery.type=single-node is an elastic search configuration that runs the ES on a single node. We can just add this in the environment configuration.
version: "3.7"
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2
container_name: elasticsearch
environment:
- xpack.security.enabled=false
- discovery.type=single-node
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
cap_add:
- IPC_LOCK
volumes:
- elasticsearch-data:/usr/share/elasticsearch/data
ports:
- 9200:9200
- 9300:9300
volumes:
elasticsearch-data:
driver: local