Ver código fonte

build(docker): 使用本地 Prometheus 安装包,避免构建时网络下载

将 prometheus-3.5.1.linux-amd64.tar.gz 放入 pack/third_party/,
Dockerfile 通过 mount 挂载本地文件解压安装,不再依赖网络下载。
kinglee 1 semana atrás
pai
commit
f122d96476

+ 1 - 0
.gitattributes

@@ -1,5 +1,6 @@
 install.ps1.sha256sum text eol=lf
 * text=auto eol=lf
+pack/third_party/*.tar.gz !filter !diff !merge text
 *.tar.gz filter=lfs diff=lfs merge=lfs -text
 
 # auto generated by UGit 

+ 2 - 4
pack/Dockerfile

@@ -460,7 +460,7 @@ EOF
 
 ARG PROMETHEUS_VERSION
 ARG GRAFANA_VERSION
-RUN <<EOF
+RUN --mount=type=bind,source=pack/third_party/prometheus-3.5.1.linux-amd64.tar.gz,target=/tmp/prometheus.tar.gz <<EOF
     set -eux
 
     apt-get update -y && apt-get install -y --no-install-recommends \
@@ -481,9 +481,7 @@ RUN <<EOF
             ;;
     esac
 
-    curl --retry 3 --retry-connrefused -fL \
-        "https://gh-proxy.com/https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-${PROM_ARCH}.tar.gz" \
-        | tar -zx -C /opt
+    tar -zx -f /tmp/prometheus.tar.gz -C /opt
     mv "/opt/prometheus-${PROMETHEUS_VERSION}.linux-${PROM_ARCH}" /opt/prometheus
     ln -s /opt/prometheus/prometheus /usr/local/bin/prometheus
     ln -s /opt/prometheus/promtool /usr/local/bin/promtool

+ 3 - 0
pack/third_party/prometheus-3.5.1.linux-amd64.tar.gz

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cd6aea0ab214b05838470668dfcee7d01a7d91913509a227b00401ca872423f0
+size 121098699