Импорт источника данных и графической панели при сборке контейнера - PullRequest
1 голос
/ 30 сентября 2019

Я пытаюсь создать Docker-контейнеры с предварительно настроенным источником данных и панелью мониторинга. На данный момент я могу понять, что начиная с версии 5.0 Grafana ввел функцию инициализации. Я создал два файла yml: первый источник данных, а второй - панель инструментов. Но я не мог понять, какая часть файла docker-compose будет вызывать эти файлы datasource.yml и dashboarad.yml. Какой тег я должен использовать и так далее. Ниже приведены сведения о файле docker-compose, источнике данных и панели инструментов. Единственная деталь в файле compose, которую я мог немного понять, это - ./grafana/provisioning/:/etc/grafana/provisioning/, которая копирует некоторую структуру папок хоста в контейнер (но не уверена в этом).

docker-compose.yml

  grafana:
    image: grafana/grafana
    links:
      - influxdb
    ports:
      - '3000:3000'
    volumes:
      - 'grafana:/var/lib/grafana'
      - ./grafana/provisioning/:/etc/grafana/provisioning/

Dashboard.yml

apiVersion: 1

providers:
- name: 'Docker Dashboard'
  orgId: 1
  folder: ''
  type: file
  disableDeletion: false
  updateIntervalSeconds: 10 #how often Grafana will scan for changed dashboards
  options:
    path: <path-where-I-have-placed-jsonfile>

Datasource.yml

datasources:
-  access: 'proxy'                       # make grafana perform the requests
   editable: true                        # whether it should be editable
   is_default: true                      # whether this should be the default DS
   name: 'influx'                        # name of the datasource
   org_id: 1                             # id of the organization to tie this datasource to
   type: 'influxdb'                      # type of the data source
   url: 'http://<ip-address>:8086'       # url of the prom instance
   database: 'influx'
   version: 1                            # well, versioning

1 Ответ

1 голос
/ 30 сентября 2019

директива volumes будет работать только в runtime, а не build, вам нужно использовать COPY, если вы хотите, чтобы это работало в build stage

Dockerfile:

FROM grafana/grafana
COPY ./grafana/provisioning /etc/grafana/provisioning

./grafana/provisioning должно быть относительно Dockerfile

Составить:

grafana:
    build: .
    .
    .
...