在构建容器时导入数据源和grafana仪表板

时间:2019-09-30 10:35:42

标签: docker docker-compose grafana influxdb

我正在尝试创建具有预先配置的数据源和仪表板的Docker容器。 到目前为止,我可以理解,从v5.0开始,grafana引入了预配功能。 我创建了两个yml文件,第一个是数据源,第二个是仪表板。 但是我不明白docker-compose文件的哪一部分将调用这些datasource.yml和dashboarad.yml文件。我应该使用什么标签等等,下面是我的docker-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 个答案:

答案 0 :(得分:1)

volumes指令仅在runtime中运行,而不是build,如果您希望在COPY阶段运行,则需要使用build

Dockerfile:

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

./grafana/provisioning应该相对于Dockerfile

撰写:

grafana:
    build: .
    .
    .