Grafana 无法从 Docker 运行

Posted

技术标签:

【中文标题】Grafana 无法从 Docker 运行【英文标题】:Grafana fails to run from Docker 【发布时间】:2021-12-01 04:31:41 【问题描述】:

我正在尝试使用 docker compose 运行带有 Prometheus 的 Grafana。

但是我不断从 Graphana 容器中收到以下错误:

service init failed: html/template: pattern matches no files: /usr/share/grafana/public/emails/*.html, emails/*.txt

这是docker-compose.yml的内容:

version: "3.3"

volumes:
    prometheus_data: 
    grafana_data: 

services:
        prometheus:
                image: prom/prometheus:latest
                ports:
                        - "9090:9090"
                expose:
                        - 9090
                volumes:
                        - ./infrastructure/config/prometheus/:/etc/prometheus/
                        - prometheus_data:/prometheus
                command:
                        - '--config.file=/etc/prometheus/prometheus.yml'
                        - '--storage.tsdb.retention.time=1y'

        graphana:
                image: grafana/grafana:latest
                user: '472'
                volumes:
                        - grafana_data:/var/lib/grafana
                        - ./infrastructure/config/grafana/grafana.ini:/etc/grafana/grafana.ini
                        - ./infrastructure/config/grafana/datasource.yml:/etc/grafana/provisioning/datasources/datasource.yml
                ports:
                        - 3000:3000
                links:
                        - prometheus

至于grafana.inidatasource.yml 文件的内容,我在其官方Github 存储库中使用默认的Grafana 配置文件provided。

答案here建议可以通过对grafana config文件夹设置正确的权限来解决。但是,我尝试向./infrastructure/config/grafana 文件夹授予完全权限(使用chmod -R 777 命令),但并没有解决问题。

如果有人能就如何解决这个问题提供任何帮助,我们将不胜感激!

【问题讨论】:

当默认值已经在容器中时,为什么要将默认值挂载为 grafana.ini?为什么你不使用 grafana.ini 来修改默认值?显然,电子邮件模板配置失败 - github.com/grafana/grafana/blob/… 显然您没有提供这些模板。 @JanGaraj 我尝试删除 grafana.ini 安装,错误消失了。谢谢!但是,我首先检查了电子邮件模板配置,它看起来很好,与您引用的行完全相同。如果我必须对 grafana.ini 文件进行一些更改怎么办?那我需要把它保存在本地并挂载它,对吧? 【参考方案1】:

在你的 docker_compose 中使用这个

grafana:
    hostname: 'grafana'
    image: grafana/grafana:latest
    restart: always
    tmpfs:
      - /run
    volumes:
      - grafana_data:/var/lib/grafana
      - ./infrastructure/config/grafana/grafana.ini:/etc/grafana  /grafana.ini
      - ./infrastructure/config/grafana/datasource.yml:/etc/grafana/provisioning/datasources/datasource.yml
    ports:
      - "3000:3000"

【讨论】:

以上是关于Grafana 无法从 Docker 运行的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 HTTP API 创建 Grafana 用户

Grafana:更改现有用户的角色

无法使用带有 Docker 的 Grafana 对插件进行签名

grafana 简介

centos7安装Grafana

在本地缓存 Grafana 插件