首页 > 解决方案 > 在构建容器时导入数据源和 grafana 仪表板

问题描述

我正在尝试使用已经预配置的数据源和仪表板创建 docker 容器。到目前为止,我可以理解,从 v5.0 开始,grafana 已经引入了配置功能。我创建了两个 yml 文件,首先是数据源,其次是仪表板。但我不明白 docker-compose 文件的哪一部分会调用这些 datasource.yml 和 dashboarad.yml 文件。我应该使用什么标签等等。下面是我的 docker-compose、数据源和仪表板文件详细信息。我可以理解的撰写文件中的唯一细节是 -./grafana/provisioning/:/etc/grafana/provisioning/将一些主机文件夹结构复制到容器(但不确定)。

码头工人-compose.yml

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

仪表板.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>

数据源.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

标签: dockerdocker-composegrafanainfluxdb

解决方案


如果您希望它在阶段工作,该volumes指令将仅在您runtime不需要build使用的情况下运行COPYbuild

Dockerfile:

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

./grafana/provisioning应该相对于Dockerfile

撰写:

grafana:
    build: .
    .
    .

推荐阅读