Elasticsearch bundles OpenJDK in every distribution. The bundled JDK is the recommended runtime. If you supply your own JDK via
JAVA_HOME, make sure it meets the version requirements listed in the supported platforms matrix.- Docker
- Linux
- macOS
- Windows
Docker
Docker is the fastest way to run a single-node Elasticsearch instance for local development or testing.Start a single-node container
| Environment variable | Description |
|---|---|
discovery.type=single-node | Skips multi-node discovery; required for a standalone container. |
ELASTIC_PASSWORD | Password for the built-in elastic superuser. Must be at least 6 characters. |
xpack.security.enabled | Enables authentication and TLS. Set to false to disable (not recommended). |
Multi-node cluster with Docker Compose
For a three-node cluster with TLS enabled, use the exampledocker-compose.yml from the Elasticsearch repository. Copy both files to a working directory, fill in passwords in .env, then run:es01, es02, es03) and a Kibana instance. Each node has:- TLS certificates generated by
elasticsearch-certutil bootstrap.memory_lock=trueto prevent heap from swappingxpack.security.enabled=truewith per-node certificate keypairs
Next steps
Quickstart
Index a document and run your first search query.
Configuration
Configure node roles, memory, network settings, and more.
Security
Set up TLS, user authentication, and role-based access control.
Core concepts
Learn about indices, shards, nodes, and cluster architecture.
