如何在influxdb docker initialize上创建任意bucket



我不知道如何处理我的问题,因为我找不到类似的例子。

我想用2个bucket设置incluation来保存电报数据,但只使用init bucket进行设置。

这是我的docker composer文件中的两个influxdb服务:

influxdb:
image: influxdb:latest
volumes:
- ./influxdbv2:/root/.influxdbv2
environment:
# Use these same configurations parameters in your telegraf configuration, mytelegraf.conf.
- DOCKER_INFLUXDB_INIT_MODE=setup
- DOCKER_INFLUXDB_INIT_USERNAME=User
- DOCKER_INFLUXDB_INIT_PASSWORD=****
- DOCKER_INFLUXDB_INIT_ORG=org
- DOCKER_INFLUXDB_INIT_BUCKET=data
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=****
ports:
- "8086:8086"
influxdb_cli:
image: influxdb:latest
links:
- influxdb
volumes:
# Mount for influxdb data directory and configuration
- ./influxdbv2:/root/.influxdbv2
entrypoint: ["./entrypoint.sh"]
restart: on-failure:10
depends_on:
- influxdb

当inits正确运行influxdb设置但没有运行脚本时,当尝试写入bucket时,telegif返回404。

我今天遇到了同样的问题,据我所知,您目前无法使用DOCKER_INFLUXDB_INIT_BUCKET环境变量初始化两个存储桶。

所以我创建了一个名为createSecondBucket.sh的shell脚本,我在这个问题的另一个答案中找到了这个脚本。它使用involf-cli来创建一个新的bucket。脚本如下:

#!/bin/sh
set -e
influx bucket create -n YOUR_BUCKET_NAME -o YOUR_ORG_NAME -r 0

请注意,我必须将行尾更改为unix(LF(才能运行该脚本而不会出错

在Dockerfile中,我添加了以下行:

COPY ./createSecondBucket.sh /docker-entrypoint-initdb.d
RUN chmod +x /docker-entrypoint-initdb.d/createSecondBucket.sh

其具有在容器第一次启动之后执行脚本的效果。我在MongoDB dockerhub页面上找到了这些信息,您可以在这里的";初始化新实例";大字标题

最新更新