Elasticsearch è un motore di ricerca e analisi full-text distribuito molto usato per log, analisi di dati e ricerche avanzate. Usarlo tramite Docker Compose semplifica enormemente la configurazione e l'esecuzione in ambienti di sviluppo o test.
1. Prerequisiti
- Docker installato
- Docker Compose installato
2. Creare il file docker-compose.yml
Per iniziare, crea una directory per il progetto e al suo interno un file docker-compose.yml
con il seguente contenuto:
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.13.4
container_name: elasticsearch
environment:
- discovery.type=single-node
- xpack.security.enabled=false
ports:
- "9200:9200"
- "9300:9300"
volumes:
- esdata:/usr/share/elasticsearch/data
volumes:
esdata:
Questa configurazione avvia Elasticsearch in modalità singolo nodo con la sicurezza disattivata, utile in fase di sviluppo.
3. Avviare Elasticsearch
Per avviare il container, esegui:
docker compose up -d
Controlla lo stato del servizio con:
docker compose ps
4. Verificare che Elasticsearch sia attivo
Una volta avviato, puoi verificare che Elasticsearch risponda correttamente eseguendo:
curl http://localhost:9200
La risposta dovrebbe essere simile a questa:
{
"name" : "elasticsearch",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "...",
"version" : {
"number" : "8.13.4",
...
},
"tagline" : "You Know, for Search"
}
5. Fermare e rimuovere i container
Per fermare i servizi:
docker compose down
Per rimuovere anche i volumi:
docker compose down -v
Conclusione
Con pochi passaggi e usando Docker Compose, puoi avere un'istanza di Elasticsearch pronta per lo sviluppo locale. Puoi estendere questa configurazione aggiungendo Kibana o Beats, oppure attivare le opzioni di sicurezza in ambienti di produzione.