Графана не может убежать от Докера

#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"