Dockerfile for a base Elasticsearch image to be extended by others (allow to install plug-ins, change configuration, etc.)
Shell

README.md

docker-elasticsearch

Very lean (119MB) and highly configurable Elasticsearch Docker image.

Docker Repository on Quay.io

Current software

Run

Attention

Ready to use node for cluster elasticsearch-default:

docker run --name elasticsearch \
    --detach \
    --privileged \
    --volume /path/to/data_folder:/data \
        quay.io/pires/docker-elasticsearch:5.2.0

Ready to use node for cluster myclustername:

docker run --name elasticsearch \
    --detach \
    --privileged \
    --volume /path/to/data_folder:/data \
    -e CLUSTER_NAME=myclustername \
        quay.io/pires/docker-elasticsearch:5.2.0

Ready to use node for cluster elasticsearch-default, with 8GB heap allocated to Elasticsearch:

docker run --name elasticsearch \
    --detach \
    --privileged \
    --volume /path/to/data_folder:/data \
    -e ES_JAVA_OPTS="-Xms8g -Xmx8g" \
        quay.io/pires/docker-elasticsearch:5.2.0

Master-only node for cluster elasticsearch-default:

docker run --name elasticsearch \
    --detach \
    --privileged \
    --volume /path/to/data_folder:/data \
    -e NODE_DATA=false \
    -e HTTP_ENABLE=false \
        quay.io/pires/docker-elasticsearch:5.2.0

Data-only node for cluster elasticsearch-default:

docker run --name elasticsearch \
    --detach --volume /path/to/data_folder:/data \
    --privileged \
    -e NODE_MASTER=false \
    -e HTTP_ENABLE=false \
        quay.io/pires/docker-elasticsearch:5.2.0

Client-only node for cluster elasticsearch-default:

docker run --name elasticsearch \
    --detach \
    --privileged \
    --volume /path/to/data_folder:/data \
    -e NODE_MASTER=false \
    -e NODE_DATA=false \
        quay.io/pires/docker-elasticsearch:5.2.0

I also make available special images and instructions for AWS EC2 and Kubernetes.

Environment variables

This image can be configured by means of environment variables, that one can set on a Deployment.