2

我创建了一个 dockerfile,我在上面编写了 telegraf 和 influxdb 安装和配置。当我从 dockerfile 创建图像并运行容器时,我将数据从电报获取到 influxdb电报数据库。

但是,当我尝试使用 dockerfile 中的入口点脚本为 influxdb 中的电报数据库设置保留策略时。未在 docker 容器上设置策略。

我在脚本中使用了以下命令,但没有任何效果。

curl -G " http://localhost:8086/query " --data-urlencode "q=CREATE RETENTION POLICY m5 ON telegraf DURATION 1d REPLICATION 1

curl -XPOST " http://localhost:8086/query " --data-urlencode "q=CREATE DATABASE mydb"

influx -port 8086 -execute “在电报 DURATION 10d REPLICATION 1 DEFAULT 上创建保留策略 mypolicy1”

如何从反映在 docker 容器上的入口点脚本运行流入命令?任何机构都可以帮我解决这个问题。

4

2 回答 2

1

如果您在主机上,请使用以下命令,否则将“localhost”替换为您的 influxdb 地址和端口。

数据库创建:

curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE mydb"

保留政策:

curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE RETENTION POLICY "one_week_only" ON "mydb" DURATION 1w REPLICATION 1 DEFAULT"
于 2018-07-30T19:08:49.617 回答
0

你可以考虑在 influxdb 中运行一个脚本来做到这一点。

InfluxDB 映像支持在初始系统设置后在设置和升级路径上运行任意初始化脚本。脚本必须具有扩展名 .sh 并安装在/docker-entrypoint-initdb.d目录中。当存在多个脚本时,它们将按名称按词法排序顺序执行。

于 2021-12-03T05:35:15.330 回答