如何更改 influxdb 存储位置
How to change influxdb storage location
我已经在 docker 容器 (Kubernetes) 中安装了 influxdb,并且我已经将一个持久卷挂载到该容器。但是 influxdb 没有将数据写入该卷。
谁能告诉我步骤,以便 influxdb 将数据写入特定的卷。
谢谢
如果你从docker库中拉取了官方的influxdb镜像,数据文件的默认路径是:
/var/lib/influxdb
要验证,运行 独立实例:
docker run -p 8083:8083 -p 8086:8086 \
-v $PWD:/var/lib/influxdb \
influxdb
查看默认配置:
docker run --rm influxdb influxd config > influxdb.conf
然后使用vim influxdb.conf
使用自定义配置 运行 influxdb:
docker run -p 8086:8086 \
-v $PWD/influxdb.conf:/etc/influxdb/influxdb.conf:ro \
influxdb -config /etc/influxdb/influxdb.conf
简答:
$ docker run -p 8083:8083 -p 8086:8086 \
-v $PWD:/var/lib/influxdb \
influxdb
用外部卷的路径修改 $PWD。
长答案:
docker run -p 8083:8083 -p 8086:8086 influxdb
默认情况下,这会将数据存储在 /var/lib/influxdb 中。所有 InfluxDB 数据都存储在那里。要使其成为持久卷(推荐):
$ docker run -p 8083:8083 -p 8086:8086 \
-v $PWD:/var/lib/influxdb \
influxdb
将 $PWD 修改为您要存储与 InfluxDB 容器关联的数据的目录。
例如,
$ docker run -p 8083:8083 -p 8086:8086 \
-v /your/home:/var/lib/influxdb \
influxdb
这会将涌入数据存储在主机上的 /your/home 中。
对于 InfluxDB 2.0:
在 InfluxDB 2.0(或至少 2.0.3)中,数据目录已更改。东西现在默认存储在 ~/.influxdbv2
下(其中 ~
在 quay.io/influxdb/influxdb:v2.0.3
图像中是 /root/
),这对我来说似乎不是很 docker。
实际上,bolt (various key-value configurations) and engine(TSM 数据库)有 2 个数据存储。如果愿意,您可以通过 --engine-path=/data/engine
--bolt-path=/data/bolt
参数将它们更改为 influxd
.
因此,下面的docker-compose.yml
应该将 InfluxDB2 数据存储到一个卷中。
version: '3.3'
services:
influxdb:
image: 'quay.io/influxdb/influxdb:v2.0.3'
restart: unless-stopped
ports:
- '8086:8086'
volumes:
- data:/root/.influxdbv2
volumes:
data:
现在,没有 官方 _/influxdb:2.0
Docker Hub (see also influxdb#16649)。我希望这个图像(一旦发布)有一些更好的默认值(quay.io/influxdb/influxdb:v2.0.3
甚至不创建匿名卷;因此一旦容器被删除,任何数据都会丢失)。因此,在此处尝试这些操作之前,请检查 Docker Hub 是否有图像 InfluxDB 2.0。
对于 InfluxDB 2.0.4:
现在 Docker Hub 上有一张官方图片。但与 quay.io/influxdb/influxdb:v2.0.4
映像不同的是,数据存储在 /root/.influxdbv2
中,您必须将 /var/lib/influxdb2
作为卷装载。
我已经在 docker 容器 (Kubernetes) 中安装了 influxdb,并且我已经将一个持久卷挂载到该容器。但是 influxdb 没有将数据写入该卷。 谁能告诉我步骤,以便 influxdb 将数据写入特定的卷。 谢谢
如果你从docker库中拉取了官方的influxdb镜像,数据文件的默认路径是:
/var/lib/influxdb
要验证,运行 独立实例:
docker run -p 8083:8083 -p 8086:8086 \
-v $PWD:/var/lib/influxdb \
influxdb
查看默认配置:
docker run --rm influxdb influxd config > influxdb.conf
然后使用vim influxdb.conf
使用自定义配置 运行 influxdb:
docker run -p 8086:8086 \
-v $PWD/influxdb.conf:/etc/influxdb/influxdb.conf:ro \
influxdb -config /etc/influxdb/influxdb.conf
简答:
$ docker run -p 8083:8083 -p 8086:8086 \
-v $PWD:/var/lib/influxdb \
influxdb
用外部卷的路径修改 $PWD。
长答案:
docker run -p 8083:8083 -p 8086:8086 influxdb
默认情况下,这会将数据存储在 /var/lib/influxdb 中。所有 InfluxDB 数据都存储在那里。要使其成为持久卷(推荐):
$ docker run -p 8083:8083 -p 8086:8086 \
-v $PWD:/var/lib/influxdb \
influxdb
将 $PWD 修改为您要存储与 InfluxDB 容器关联的数据的目录。
例如,
$ docker run -p 8083:8083 -p 8086:8086 \
-v /your/home:/var/lib/influxdb \
influxdb
这会将涌入数据存储在主机上的 /your/home 中。
对于 InfluxDB 2.0:
在 InfluxDB 2.0(或至少 2.0.3)中,数据目录已更改。东西现在默认存储在 ~/.influxdbv2
下(其中 ~
在 quay.io/influxdb/influxdb:v2.0.3
图像中是 /root/
),这对我来说似乎不是很 docker。
实际上,bolt (various key-value configurations) and engine(TSM 数据库)有 2 个数据存储。如果愿意,您可以通过 --engine-path=/data/engine
--bolt-path=/data/bolt
参数将它们更改为 influxd
.
因此,下面的docker-compose.yml
应该将 InfluxDB2 数据存储到一个卷中。
version: '3.3'
services:
influxdb:
image: 'quay.io/influxdb/influxdb:v2.0.3'
restart: unless-stopped
ports:
- '8086:8086'
volumes:
- data:/root/.influxdbv2
volumes:
data:
现在,没有 官方 _/influxdb:2.0
Docker Hub (see also influxdb#16649)。我希望这个图像(一旦发布)有一些更好的默认值(quay.io/influxdb/influxdb:v2.0.3
甚至不创建匿名卷;因此一旦容器被删除,任何数据都会丢失)。因此,在此处尝试这些操作之前,请检查 Docker Hub 是否有图像 InfluxDB 2.0。
对于 InfluxDB 2.0.4:
现在 Docker Hub 上有一张官方图片。但与 quay.io/influxdb/influxdb:v2.0.4
映像不同的是,数据存储在 /root/.influxdbv2
中,您必须将 /var/lib/influxdb2
作为卷装载。