【问题标题】:custom.ini ignored with Grafana docker image使用 Grafana docker 映像忽略 custom.ini
【发布时间】:2019-06-11 14:40:02
【问题描述】:

我对 grafana docker 映像有一个奇怪的问题:它完全忽略了我的 custom.ini 文件。

目标是将 app_mode 设置为没有环境变量的开发(否则可以在 docker-compose 中使用GF_DEFAULT_APP_MODE: development)。

这是我的 docker-compose 中有趣的部分:

  grafana:
image: grafana/grafana:6.2.2
ports:
  - "3000:3000"
user: ${ID}
volumes:
  - "$PWD/data:/var/lib/grafana"
  - "$PWD/custom.ini:/etc/grafana/custom.ini"
  - "$PWD/custom.ini:/usr/share/grafana/conf/custom.ini"
  - "$PWD/custom.ini:/usr/share/grafana/conf/sample.ini"

如您所见,我尝试了很多地点(以防万一)。

我使用以下命令部署堆栈:ID=$(id -u) docker-compose up -d

除了配置问题,Grafana 运行良好。 我可以在容器中正确看到我的挂载,并且 custom.ini 文件的格式很好(我没有忘记删除注释符号;

以下是日志(我们看不到有关 custom.ini 或 sample.ini 的提及):

Attaching to dev_grafana_1
grafana_1          | t=2019-06-11T14:20:44+0000 lvl=info msg="Starting Grafana" logger=server version=6.2.2 commit=07540df branch=HEAD compiled=2019-06-05T13:04:21+0000
grafana_1          | t=2019-06-11T14:20:44+0000 lvl=info msg="Config loaded from" logger=settings file=/usr/share/grafana/conf/defaults.ini
grafana_1          | t=2019-06-11T14:20:44+0000 lvl=info msg="Config loaded from" logger=settings file=/etc/grafana/grafana.ini
grafana_1          | t=2019-06-11T14:20:44+0000 lvl=info msg="Config overridden from command line" logger=settings arg="default.paths.data=/var/lib/grafana"
grafana_1          | t=2019-06-11T14:20:44+0000 lvl=info msg="Config overridden from command line" logger=settings arg="default.paths.logs=/var/log/grafana"
grafana_1          | t=2019-06-11T14:20:44+0000 lvl=info msg="Config overridden from command line" logger=settings arg="default.paths.plugins=/var/lib/grafana/plugins"
grafana_1          | t=2019-06-11T14:20:44+0000 lvl=info msg="Config overridden from command line" logger=settings arg="default.paths.provisioning=/etc/grafana/provisioning"
grafana_1          | t=2019-06-11T14:20:44+0000 lvl=info msg="Config overridden from command line" logger=settings arg="default.log.mode=console"
grafana_1          | t=2019-06-11T14:20:44+0000 lvl=info msg="Config overridden from Environment variable" logger=settings var="GF_PATHS_DATA=/var/lib/grafana"
grafana_1          | t=2019-06-11T14:20:44+0000 lvl=info msg="Config overridden from Environment variable" logger=settings var="GF_PATHS_LOGS=/var/log/grafana"
grafana_1          | t=2019-06-11T14:20:44+0000 lvl=info msg="Config overridden from Environment variable" logger=settings var="GF_PATHS_PLUGINS=/var/lib/grafana/plugins"
grafana_1          | t=2019-06-11T14:20:44+0000 lvl=info msg="Config overridden from Environment variable" logger=settings var="GF_PATHS_PROVISIONING=/etc/grafana/provisioning"
grafana_1          | t=2019-06-11T14:20:44+0000 lvl=info msg="Path Home" logger=settings path=/usr/share/grafana
grafana_1          | t=2019-06-11T14:20:44+0000 lvl=info msg="Path Data" logger=settings path=/var/lib/grafana
grafana_1          | t=2019-06-11T14:20:44+0000 lvl=info msg="Path Logs" logger=settings path=/var/log/grafana
grafana_1          | t=2019-06-11T14:20:44+0000 lvl=info msg="Path Plugins" logger=settings path=/var/lib/grafana/plugins
grafana_1          | t=2019-06-11T14:20:44+0000 lvl=info msg="Path Provisioning" logger=settings path=/etc/grafana/provisioning
grafana_1          | t=2019-06-11T14:20:44+0000 lvl=info msg="App mode production" logger=settings

我使用图像 grafana/grafana:6.2.2

感谢您的帮助!

注意:我也尝试了很多时间来重新启动甚至重新创建我的容器。

【问题讨论】:

    标签: docker docker-compose grafana


    【解决方案1】:

    我刚刚在我的 Grafana 容器上修复了这个问题,所以也许这对你有帮助。我试图设置的只是 SMTP 配置。我在 Windows 上运行 Docker,因此您当然需要根据需要更改脚本。我也在将数据重定向到容器外,以便包含配置。

    docker run -d -p 3000:3000 --name=grafana `
    -v C:/DockerData/Grafana:/var/lib/grafana `
    -v C:/DockerData/Grafana/custom.ini:/etc/grafana/grafana.ini `
    grafana/grafana
    

    我从 powershell 启动,这就是为什么使用 ` 继续下一行。此外,它不喜欢将本地文件也称为 grafana.ini。它只是不会从那开始。因此,您会看到本地文件是 custom.ini,但我覆盖了 grafana.ini 文件。我希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      也遇到了这个问题。显然/etc/grafana/grafana.ini 是 deb 或 rpm 包上的自定义文件。

      注意。如果您使用 deb 或 rpm 软件包安装了 Grafana,那么您的配置文件位于 /etc/grafana/grafana.ini。此路径在 Grafana init.d 脚本中使用 --config 文件参数指定。

      因此,在您的卷部分中,将其更新为,它应该会选择您的自定义设置:

      volumes:
        - "$PWD/data:/var/lib/grafana"
        - "$PWD/grafana.ini:/etc/grafana/grafana.ini"
      

      【讨论】:

      • 但这是默认的grafana.ini 文件... OP 想要使用custom.ini 覆盖一些变量。在您的示例中,可能必须指定 all 变量,而不仅仅是被覆盖的变量。
      • 这也是我最初的假设。但是在遇到与 OP 相同的问题后,这完全符合我对 custom.ini 文件的预期工作方式。它不需要您定义所有变量。
      • 好吧,我还认为它是主配置文件,而不是自定义文件。另外,我不确定 grafana 图像是用 deb 或 rpm 包制作的。实际上,我很确定不是 (github.com/grafana/grafana/blob/v6.2.2/Dockerfile)。不幸的是,我现在无法再次测试。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多