从 github 构建 grafana 的生产自定义 docker 镜像
Posted
技术标签:
【中文标题】从 github 构建 grafana 的生产自定义 docker 镜像【英文标题】:Build a production custom docker image of grafana from it github 【发布时间】:2021-08-01 21:50:51 【问题描述】:我需要对 grafana 的代码进行一些更改,然后他们进行编译。
我已经下载了 github repo,做了修改和朗姆酒
docker build -t custom-grafana -f Dockerfile .
您可以在互联网上看到许多网站。
问题在于,以这种方式编译从 grafana 的 v7.5.0-dev 版本构建,我需要使用最新版本... 我找不到使用最新版本的 gfrafana 代码编译自定义 grafana 代码的方法。
我需要帮助... 谢谢!
【问题讨论】:
【参考方案1】:如果您从 GitHub 克隆了 grafana 存储库,则必须签出要编译的分支/标签。
目前最新版本是 7.5.6,在构建 docker 容器之前可以查看一下。
git checkout v7.5.6
【讨论】:
感谢您的回答,Martteo。这给了我一个错误。在 make git checkout 之后,我执行了 docker build 并且在构建的一个点,我收到了这个错误:> [js-builder 5/11] RUN yarn install --pure-lockfile --no-progress: #26 1.046 yarn install v1.22.5 #26 2.042 [1/5] Validating package.json... #26 2.112 [2/5] Resolving packages... #26 8.369 [3/5] Fetching packages... #26 8.776 error Couldn't find the binary git #26 8.776 info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
我遇到了同样的问题。据我所知,这是 Dockerfile 的一个问题:在 js-builder
阶段使用 git(用于下载节点包),但图像没有安装 git。您应该在第 8 行之前添加RUN apk --no-cache add git
。他们已将其固定在主分支中(您可以比较两个 Dokefile),但不幸的是没有在最新标签中。
我在第 8 行之前写了这一行,但仍然报错 `error registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "ENOENT: no such file or directory, chmod '/usr/local/share/.cache/yarn/v6/npm-source-map-0.5.7-8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc-integrity/node_modules/source-map/lib/source-map-generator.js'” 执行器运行失败[/bin/sh -c yarn install --pure-lockfile --no-progress]: exit code: 1` Y尝试使用主分支的de dockerfile,但没有用.....有点令人沮丧
可能会在构建 docker 映像之前尝试删除 yarn.lock 文件。同意你的观点,我记得在构建 docker 映像时非常沮丧。
没办法...我已经删除了 yarn.lock 和 exec yarn install 来重建文件,但是 docker 仍然失败...以上是关于从 github 构建 grafana 的生产自定义 docker 镜像的主要内容,如果未能解决你的问题,请参考以下文章
用Nginx+Telegraf+Influxb+Grafana构建高逼格Nginx集群监控系统
使用Nginx+Telegraf+Influxb+Grafana构建高逼格Nginx集群监控系统!
strimzi实战之三:prometheus+grafana监控(按官方文档搞不定监控?不妨看看本文,已经踩过坑了)
strimzi实战之三:prometheus+grafana监控(按官方文档搞不定监控?不妨看看本文,已经踩过坑了)