Well That explains it.. you did not say you are running inside docker.
As you found out Docker manages the Docker container Volume size not Elasticsearch.
Also it is not best use the internal docker container volume for the elasticsearch data. best practice is to mount the elastic data path to a volume on the host.
See Here
Always bind data volumes
You should use a volume bound on
/usr/share/elasticsearch/data
for the following reasons:
- The data of your Elasticsearch node won’t be lost if the container is killed
- Elasticsearch is I/O sensitive and the Docker storage driver is not ideal for fast I/O
- It allows the use of advanced Docker volume plugins
Example
volumes:
- data01:/usr/share/elasticsearch/data
Also look at some good advice here