【问题标题】:How to set retention policies on influxdb docker container using entrypoint script in dockerfile如何使用 dockerfile 中的入口点脚本在 influxdb docker 容器上设置保留策略
【发布时间】:2018-02-21 12:01:38
【问题描述】:

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

但是当我尝试使用 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 "CREATE RETENTION POLICY mypolicy1 ON telegraf DURATION 10d REPLICATION 1 DEFAULT"

如何从反映在 docker 容器上的入口点脚本运行流入命令? 任何人都可以帮助我吗..

【问题讨论】:

    标签: docker-compose dockerfile influxdb telegraf


    【解决方案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"
    

    【讨论】:

      【解决方案2】:

      您可以考虑在 influxdb 中运行一个脚本来执行此操作。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多