基于docker封装prometheus解决时区问题
时间:2022-07-23
本文章向大家介绍基于docker封装prometheus解决时区问题,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、概述
官方dockerhub上面的prometheus,下载命令如下:
docker pull prom/prometheus
发现它的时区为:UTC,我需要更改为CST,也就是中国上海时区。
发现修改变量TZ=Asia/Shanghai,修改/etc/localtime 文件都无法修改时区,均失败了。
那么解决办法,就只有自己封装prometheus镜像了。
二、启动prometheus
环境说明
操作系统:centos 7.6
docker版本:19.03.5
ip地址:192.168.31.229
封装prometheus
目录结构
新建目录/opt/myprometheus,目录结构如下:
./
├── dockerfile
└── prometheus-2.20.0.linux-amd64.tar.gz
dockerfile
FROM centos:7
ADD prometheus-2.20.0.linux-amd64.tar.gz /
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&
mv /prometheus-2.20.0.linux-amd64 /prometheus
WORKDIR /prometheus
ENTRYPOINT [ "/prometheus/prometheus" ]
CMD [ "--config.file=/prometheus/prometheus.yml",
"--storage.tsdb.path=/prometheus/data",
"--web.console.libraries=/prometheus/console_libraries",
"--web.enable-lifecycle",
"--web.console.templates=/prometheus/consoles" ]
prometheus-2.20.0.linux-amd64.tar.gz 是从官方下载的,链接如下:https://prometheus.io/download/
生成镜像
docker build -t myprometheus:1 .
启动镜像
# 创建持久化目录
mkdir -p /data/prometheus
# 后台启动
docker run -d
--restart=always
--name prometheus
-p 9090:9090
myprometheus:1
# 等待几秒,拷贝容器文件
docker cp prometheus:/prometheus/ /data/prometheus
# 删除容器
docker rm -f prometheus
# 挂载目录启动
docker run -d
--restart=always
--name prometheus
-p 9090:9090
-v /data/prometheus:/prometheus
myprometheus:1
查看时区
# docker exec -it prometheus date
Thu Jul 30 17:54:37 CST 2020
发现时区是正确的。
访问页面
http://192.168.31.229:9090
效果如下:
另外再介绍一下alertmanager修改时区,镜像下载命令为:
docker pull prom/alertmanager
那么启动命令为:
mkdir -p /data/alertmanager /data/alertmanager/storage
docker run -d
-p 9093:9093
--name alertmanager
--restart=always
-v /etc/localtime:/etc/localtime
-v /data/alertmanager:/etc/alertmanager
-v /data/alertmanager/storage:/alertmanager
prom/alertmanager
这里直接将/etc/localtime文件,挂载一下即可。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- CVE-2020-1948:Dubbo Provider默认反序列化复现
- R语言进阶之因子分析
- Spring Boot 整合Thymeleaf
- Spring Boot 整合Shiro
- 微服务[学成在线] day01:CMS接口开发
- 微服务[学成在线] day02:CMS前端开发
- ggplot2| 绘制KEGG气泡图
- 微服务[学成在线] day03:CMS页面管理开发
- ggplot2|绘制GO富集柱形图
- 使用Prometheus监控Flink
- 微服务[学成在线] day04:页面静态化
- Spring Boot 整合Mybatis代码生成插件
- Spring Boot 配置文件
- Hello Spring Boot
- Spring Boot 整合Druid