gpt4 book ai didi

docker - 使用入口点脚本初始化 influxdb2 桶

转载 作者:行者123 更新时间:2023-12-05 04:51:55 29 4
gpt4 key购买 nike

我正在部署用于存储实时数据的 influxdb。我已经使用 1.8.4 一段时间了,最​​近决定更新到 v2。

我的 docker-compose.yml文件看起来像这样:

influxdb:
image: influxdb:2.0.4-alpine
ports:
- "8086:8086"
volumes:
- ./influxdb/data:/var/lib/influxdb2
- ./influxdb/config:/etc/influxdb2
- ./influxdb/scripts:/docker-entrypoint-initdb.d
environment:
- DOCKER_INFLUXDB_INIT_MODE=setup
- DOCKER_INFLUXDB_INIT_USERNAME=${INFLUXDB_USR}
- DOCKER_INFLUXDB_INIT_PASSWORD=${INFLUXDB_PWD}
- DOCKER_INFLUXDB_INIT_ORG=Org0
- DOCKER_INFLUXDB_INIT_BUCKET=bucket0

这确实创建了一个名为 bucket0 的初始存储桶.

也就是说我想要一个脚本来初始化更多的桶,写一些数据或添加授权。在我的 ./influxdb/scripts目录我有一个脚本 init.sh看起来像这样:

#!/bin/bash
set -e
influx bucket create -n bucket1 -d "Bucket 1"

那我就继续用influx writeinflux auth以及 influx cli 提供的所有好东西,但上面的脚本似乎对创建存储桶没有任何影响。

我也尝试过使用 -c /etc/influxdb2/influx-configs选项或 --token无济于事。

docker exec -it <container> /bin/bash然后执行完全相同的命令,按预期创建了存储桶。

有什么想法吗?非常感谢!

最佳答案

我设法在 influxdb 启动时运行了以下脚本:

#!/bin/sh

set -e
influx bucket create -n first -r 7d
influx bucket create -n second -r 7d
  • 即使 influxdb docker 镜像支持 bash,您也应该更喜欢为 alpine 编写 sh 脚本。
  • 你的脚本是可执行的吗? (chmod +x init.sh)
  • init.sh 脚本仅在第一次启动 influxdb 时执行。初始化后,您必须清理与此镜像关联的 docker 卷。如果你使用 docker-compose : docker-compose down -v

最好的问候

关于docker - 使用入口点脚本初始化 influxdb2 桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66677406/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com