前言:
请先按照这篇文章安装基础的编译环境https://www.ctyun.cn/developer/article/418830496112709
1.下载grafana源码,然后切换到9.3.0版本
# 先安装git
yum install -y git
#使用git clone 从github下载grafana的源码
git clone https://github.com/grafana/grafana.git
#使用git checkout命令切换到对应的版本,我这边使用的9.3.0版本进行开发的(9.3.0对应的tag是)
git checkout v9.3.1
2.安装docker-ce
备注:这里要注意安装docker的版本,版本过低识别grafana的当前版本的Dockerfile有问题,例如发生以下问题:
出现以上情况的话,说明我们当前的docker版本比较低,需要安装高版本的。
# 删除之前安装的docker
yum remove docker*
# 设置repo源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker-ce
yum install docker-ce -y
# 启动docker服务
systemctl restart docker
3.执行制作镜像命令(备注:执行时间比较长)
#运行制作镜像命令
1. 首先需要cd 到grafana的指定目录
2.然后运行以下命令
make build-docker-full
4.制作镜像可能遇到的问题
(1)连接github被拒绝,这个我使用的是国内镜像去解决:
#打开Dockerfile文件,把里面github请求改为想kgithub请求
在123行中
# glibc support for alpine x86_64 only
RUN if grep -i -q alpine /etc/issue && [ `arch` = "x86_64" ]; then \
wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \
wget https://kgithub.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-2.35-r0.apk \
-O /tmp/glibc-2.35-r0.apk && \
wget https://kgithub.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-bin-2.35-r0.apk \
-O /tmp/glibc-bin-2.35-r0.apk && \
apk add --force-overwrite --no-cache /tmp/glibc-2.35-r0.apk /tmp/glibc-bin-2.35-r0.apk && \
rm -f /lib64/ld-linux-x86-64.so.2 && \
ln -s /usr/glibc-compat/lib64/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2 && \
rm -f /tmp/glibc-2.35-r0.apk && \
rm -f /tmp/glibc-bin-2.35-r0.apk && \
rm -f /lib/ld-linux-x86-64.so.2 && \
rm -f /etc/ld.so.cache; \
fi