#docker #docker-compose #grafana
Вопрос:
Я пытаюсь запустить Grafana с Prometheus, используя docker compose.
Однако я продолжаю получать следующую ошибку из контейнера 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
файлов, я использую файлы конфигурации Grafana по умолчанию, которые предоставляются в официальном репозитории Github.
Ответ здесь предполагает, что это можно решить, установив правильные разрешения для папки конфигурации grafana. Тем не менее, я попытался предоставить полное разрешение (с chmod -R 777
помощью команды) для ./infrastructure/config/grafana
папки, и это не решило проблему.
Если кто-нибудь может оказать какую-либо помощь в решении этой проблемы, мы будем очень признательны!
Комментарии:
1. Почему вы монтируете значения по умолчанию как grafana.ini, когда значения по умолчанию уже находятся в контейнере? Почему вы просто не используете grafana.ini для изменения значений по умолчанию? По — видимому, это не удается в конфигурации шаблона электронной почты- github.com/grafana/grafana/blob/… и, очевидно, вы не предоставили эти шаблоны.
2. @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"