Base Docker Image
docker run -d -p 9200:9200 -p 9300:9300 sxmichael/docker-elasticsearch
plain (no plugins)
(latest) head (with head plugin)
rabbit (with head, rabbitmq river and enabled dynamic scripting)
rabbit-python (same as rabbit, but with python lang plugin)
Attach persistent/shared directories
Create a mountable data directory
<data-dir>on the host.
Start a container by mounting data directory to /usr/share/elasticsearch/data
docker run -d -p 9200:9200 -p 9300:9300 -v <data-dir>:/usr/share/elasticsearch/data sxmichael/docker-elasticsearch
After few seconds, open
http://<host>:9200to see the result.
Creating your own builds
You can create folder in config/ for new plugin/config update placing there the elastisearch-n.yml or/and plugins.lst containing the plugin(s) to be installed
You can add a line to config/aliases in format of:
<tag>: <config1> <config2> <config3> `
Run generate.sh . This will create <tag> folder, put there Dockerfile, merged elasticsearch.yml and merged plugins.lst (merged from config1, config2, config3, ...)
You can run build.sh (previously update base and latest, if needed, to build correct docker images) which will build all images from generated definitions, based on aliases defined.