How to change influxdb storage location How to change influxdb storage location kubernetes kubernetes

How to change influxdb storage location


Short Answer:

   $ docker run -p 8083:8083 -p 8086:8086 \          -v $PWD:/var/lib/influxdb \          influxdb

Modify $PWD with the path to external volume.

Long answer:

docker run -p 8083:8083 -p 8086:8086 influxdb

By default this will store the data in /var/lib/influxdb. All InfluxDB data lives in there. To make that a persistent volume (recommended):

$ docker run -p 8083:8083 -p 8086:8086 \      -v $PWD:/var/lib/influxdb \      influxdb

Modify $PWD to the directory where you want to store data associated with the InfluxDB container.

For example,

 $ docker run -p 8083:8083 -p 8086:8086 \              -v /your/home:/var/lib/influxdb \              influxdb

This will store the influx data in /your/home on the host.


For InfluxDB 2.0:

In InfluxDB 2.0 (or 2.0.3 at least) the data directory has changed. Things are now stored under ~/.influxdbv2 by default (where ~ is /root/ in the quay.io/influxdb/influxdb:v2.0.3 image), which does not seem very docker-ish to me.

Actually, there are 2 data storages for bolt (various key-value configurations) and engine (the TSM database). If you like, you could change them via the --engine-path=/data/engine --bolt-path=/data/bolt paramaters to influxd.

The following docker-compose.yml should therefore store the InfluxDB2 data into a volume.

version: '3.3'services:  influxdb:    image: 'quay.io/influxdb/influxdb:v2.0.3'    restart: unless-stopped    ports:      - '8086:8086'    volumes:      - data:/root/.influxdbv2volumes:  data:

Right now, there is no official _/influxdb:2.0 on Docker Hub (see also influxdb#16649). I hope that this image (once released) has some better defaults (quay.io/influxdb/influxdb:v2.0.3 does not even create an anonymous volume; any data is lost therefore once the container is removed). So please check Docker Hub if there is an image InfluxDB 2.0 before trying these things here.


If you pulled official influxdb image from docker library, the default path for data files is:

/var/lib/influxdb

To verify, Run an standalone instance:

docker run -p 8083:8083 -p 8086:8086 \      -v $PWD:/var/lib/influxdb \      influxdb

To check out the default config:

docker run --rm influxdb influxd config > influxdb.conf

Then use vim influxdb.conf

To run influxdb with custom config:

docker run -p 8086:8086 \      -v $PWD/influxdb.conf:/etc/influxdb/influxdb.conf:ro \      influxdb -config /etc/influxdb/influxdb.conf