1. FROM registry.cn-hangzhou.aliyuncs.com/depl/alpine:3.16.2
    2. LABEL image.authors="geray" \
    3. image.description="Application packaged by Geray" \
    4. image.ref.name="alpine-3.16.2" \
    5. image.title="prometheus" \
    6. image.vendor="VMware, Inc." \
    7. image.version="2.36.1"
    8. COPY prometheus-2.36.1.linux-amd64.tar.gz /
    9. RUN mkdir /opt/prometheus
    10. ENV PROMETHEUS_MAJOR=2 \
    11. PROMETHEUS_VERSION=3.16.1 \
    12. PROMETHEUS_HOME="/opt/prometheus"
    13. RUN tar -zxvf /prometheus-2.36.1.linux-amd64.tar.gz -C /opt/prometheus --strip-components 1 && \
    14. rm -rf /prometheus-2.36.1.linux-amd64.tar.gz && \
    15. mkdir /opt/prometheus/conf && \
    16. mkdir /opt/prometheus/data && \
    17. mkdir /opt/prometheus/bin && \
    18. mv ${PROMETHEUS_HOME}/prometheus.yml ${PROMETHEUS_HOME}/conf/ && \
    19. mv ${PROMETHEUS_HOME}/prometheus ${PROMETHEUS_HOME}/bin/ && \
    20. chown -R 1001:1001 /opt/prometheus
    21. ENV PATH="/opt/prometheus/bin:$PATH"
    22. VOLUME ${PROMETHEUS_HOME}/conf
    23. VOLUME ${PROMETHEUS_HOME}/data
    24. WORKDIR ${PROMETHEUS_HOME}
    25. EXPOSE 9090
    26. USER 1001
    27. #ENTRYPOINT [ "prometheus" ]
    28. CMD [ "prometheus", \
    29. "--config.file=./conf/prometheus.yml", \
    30. "--storage.tsdb.path=./data", \
    31. "--web.console.libraries=./console_libraries", \
    32. "--web.enable-lifecycle", \
    33. "--web.console.templates=./consoles" ]
    • 上面构建的镜像是 298MB ,如果使用alpine:3.16.2作为基础镜像是 296MB
    • 这里使用的是我的基础镜像添加了时区所以打了2m
    1. docker build -t registry.cn-hangzhou.aliyuncs.com/depl/prometheus:2.36.1 .
    2. docker push registry.cn-hangzhou.aliyuncs.com/depl/prometheus:2.36.1
    3. docker tag registry.cn-hangzhou.aliyuncs.com/depl/prometheus:2.36.1 geray/prometheus:2.36.1
    4. docker push geray/prometheus:2.36.1

    部署

    1. docker run -d --restart always\
    2. -p 9090:9090 \
    3. --name prometheus \
    4. -v $PWD/prometheus.yml:/opt/prometheus/conf/prometheus.yml \
    5. registry.cn-hangzhou.aliyuncs.com/depl/prometheus:2.36.1