【发布时间】:2019-10-18 12:49:25
【问题描述】:
我正在尝试使用存储(并定期更新)在 Github/Bitbucket 中的导出的相关 JSON 在 Grafana Docker 映像中自动更新 Grafana 仪表板/数据源。
例如:
- 运行 Grafana 的 Docker 镜像
- Dockerfile 添加了一个从 Git 源中提取的 Bash 脚本,
- 然后该脚本将 JSON 文件复制到相关目录(/etc/grafana/provisioning/datasource + /dashboards)。
- 图形和数据源的更新无需人工干预(更新存储在 Github 或 Bitbucket 中的 JSON 除外)。
我已经执行到 Grafana docker 映像中,并且 Grafana 在一个非常基本的 linux 系统上运行,因此实际上不能使用任何命令,即 git、wget、apt。
如果我认为我应该从基本的 Debian 映像创建一个 Dockerfile,运行一个 apt 更新并在其中安装 git,我会不会很傻。然后以某种方式运行 Grafana 和该图像中的脚本?
请随时询问更多信息。
【问题讨论】:
-
no commands can be used i.e., git, wget, apt?所以安装它们?它在Debian上运行。apt-get update && apt-get install git wget。apt update and installing git inside- 这很正常。Then somehow- 创建一个 dockerfile,添加一个RUN apt-get update && apt-get install && apt-get autoremove并构建该 dockerfile。如果 ENTRYPOINT 保持不变,您仍将运行 grafana。顺便提一句。 grafana dockerfile. -
如果您有
git cloned/pulled对配置文件夹的最新更新,重新创建容器将获得按指定配置的 Grafana 的新副本。但是,您可能希望保留任何现有设置、用户等(在重新创建时丢失),在这种情况下,您需要使用 docker 卷将相应的 Grafana 文件夹从容器映射到主机上的文件夹,如 Kamil 所述库克。然后您可以直接在那里更新文件,然后重新启动而不是重新创建。或ssh进入容器并使用 Grafana CLI grafana.com/docs/administration/cli