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.ini
和datasource.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 运行的主要内容,如果未能解决你的问题,请参考以下文章