use official prometheus repo

This commit is contained in:
fix 2021-09-19 22:03:10 +02:00
parent cf605f3d29
commit 296f7609da
3 changed files with 8 additions and 55 deletions

View File

@ -1,3 +1,2 @@
PROMETHEUS_CONFIG_FILE_PATH=/path/to/prometheus/config/prometheus.yaml PROMETHEUS_CONFIG_FILE_PATH=/path/to/prometheus/config/prometheus.yaml
PROMETHEUS_DATA_PATH=/path/to/prometheus/data PROMETHEUS_DATA_PATH=/path/to/prometheus/data
PROMETHEUS_REPO='https://github.com/prometheus/prometheus.git'

View File

@ -1,47 +0,0 @@
ARG GO_VERSION=alpine
FROM golang:${GO_VERSION} as build
ARG PROMETHEUS_VERSION=
ARG PROMETHEUS_REPO
RUN \
apk update --no-cache &&\
apk add --no-cache \
bash \
curl \
git \
make \
yarn && \
git config --global advice.detachedHead false
RUN \
echo "selected repo: ${PROMETHEUS_REPO}" && \
if [ -z "${PROMETHEUS_VERSION}" ]; then \
PROMETHEUS_VERSION=$( \
git ls-remote "${PROMETHEUS_REPO}" | \
awk '$2 ~ /^refs\/tags\/v[0-9]+\.[0-9]+\.[0-9]+$/ { print substr($2,11) }' | sort -V | tail -n1 \
) ; \
fi && \
echo "selected prometheus branch: ${PROMETHEUS_VERSION}" && \
cd / && \
git clone \
--branch="${PROMETHEUS_VERSION}" \
--depth=1 \
"${PROMETHEUS_REPO}" \
prometheus && \
cd prometheus && \
CGO_ENABLED=0 make build
FROM alpine:3
COPY --from=build /prometheus/prometheus /prometheus
RUN mkdir /data
ENV UID=1000
ENV GID=1000
CMD (grep -qE '^prometheus:x:'"${UID}"':prometheus$' /etc/group || addgroup -g "${GID}" prometheus) && \
(grep -qE '^prometheus:x:'"${UID}"':'"${GID}"':.*$' /etc/passwd || adduser -D -u "${UID}" -G prometheus prometheus) && \
chmod 700 /prometheus && chown prometheus:prometheus /prometheus && \
chown prometheus:prometheus /data && \
su prometheus -c '/prometheus --config.file=/config/prometheus.yaml --storage.tsdb.path=/data/' 2>&1

View File

@ -2,12 +2,13 @@ version: '3'
services: services:
prometheus: prometheus:
build:
context: ./
args:
- PROMETHEUS_REPO=${PROMETHEUS_REPO}
container_name: prometheus container_name: prometheus
image: prometheus:local image: prom/prometheus
command: >
--storage.tsdb.path=/prometheus
--config.file=/etc/prometheus/prometheus.yml
--storage.tsdb.retention.time=30d
--storage.tsdb.retention.size=2GB
logging: logging:
driver: journald driver: journald
options: options:
@ -16,6 +17,6 @@ services:
ports: ports:
- 9090:9090 - 9090:9090
volumes: volumes:
- ${PROMETHEUS_CONFIG_FILE_PATH}:/config/prometheus.yaml:ro - ${PROMETHEUS_CONFIG_FILE_PATH}:/etc/prometheus/prometheus.yml:ro
- ${PROMETHEUS_DATA_PATH}:/data:rw - ${PROMETHEUS_DATA_PATH}:/prometheus:rw