范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Prometheus之Dockerfile编写镜像构建容器启动

  从官方镜像启动:prom/prometheus
  拉取镜像 $ docker pull prom/prometheus
  启动容器
  方式1:$ docker run -td -p 9090:9090 --name prometheus1 prom/prometheus
  方式2:路径挂载$ docker run      -p 9090:9090      -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml      prom/prometheus  $ docker run      -p 9090:9090      -v /path/to/config:/etc/prometheus      prom/prometheus官方Dockerfile分析
  官方Dockerfile文件如下ARG ARCH="amd64" ARG OS="linux" FROM quay.io/prometheus/busybox-${OS}-${ARCH}:latest LABEL maintainer="The Prometheus Authors "  ARG ARCH="amd64" ARG OS="linux" COPY .build/${OS}-${ARCH}/prometheus        /bin/prometheus COPY .build/${OS}-${ARCH}/promtool          /bin/promtool COPY documentation/examples/prometheus.yml  /etc/prometheus/prometheus.yml COPY console_libraries/                     /usr/share/prometheus/console_libraries/ COPY consoles/                              /usr/share/prometheus/consoles/ COPY LICENSE                                /LICENSE COPY NOTICE                                 /NOTICE COPY npm_licenses.tar.bz2                   /npm_licenses.tar.bz2  WORKDIR /prometheus RUN ln -s /usr/share/prometheus/console_libraries /usr/share/prometheus/consoles/ /etc/prometheus/ &&      chown -R nobody:nobody /etc/prometheus /prometheus  USER       nobody EXPOSE     9090 VOLUME     [ "/prometheus" ] ENTRYPOINT [ "/bin/prometheus" ] CMD        [ "--config.file=/etc/prometheus/prometheus.yml",               "--storage.tsdb.path=/prometheus",               "--web.console.libraries=/usr/share/prometheus/console_libraries",               "--web.console.templates=/usr/share/prometheus/consoles" ]
  从官网Dockerfile文件可知:使用busybox作为基础镜像拷贝相关文件(prometheus、promtool、prometheus.yml等)到指定目录(/bin、/etc)指定工作目录/prometheus容器内端口9090指定默认匿名卷为"/prometheus",Prometheus运行产生的数据将写到宿主机相关目录ENTRYPOINT容器启动入口点为"/bin/prometheus"CMD指定容器启动参数为:"--config.file=/etc/prometheus/prometheus.yml", "--storage.tsdb.path=/prometheus","--web.console.libraries=/usr/share/prometheus/console_libraries", "--web.console.templates=/usr/share/prometheus/consoles"
  容器内Prometheus启动命令为:/bin/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus --web.console.libraries=/usr/share/prometheus/console_libraries --web.console.templates=/usr/share/prometheus/consoles
  进入容器查看Prometheus的进程:[root@docker ~]# docker exec -it prometheus1 sh /prometheus $ /prometheus $ ps -ef | grep prometheu[s]     1 nobody    0:53 /bin/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus --web.console.libraries=/usr/share/prometheus/console_libraries --web.console.templates=/usr/share/prometheus/consoles编写自己的Dockerfile
  这里编写自己的Dockerfile进行构建,开启Prometheus进程的配置热加载和数据库管理功能。FROM amd64/busybox:1.35 LABEL maintainer="The Prometheus Authors "  ARG ARCH="amd64" ARG OS="linux" COPY prometheus-*.${OS}-${ARCH}/prometheus 				/prometheus/bin/ COPY prometheus-*.${OS}-${ARCH}/promtool 				/prometheus/bin/ COPY prometheus-*.${OS}-${ARCH}/prometheus.yml 			/prometheus/etc/prometheus.yml COPY prometheus-*.${OS}-${ARCH}/console_libraries/*    /prometheus/console_libraries/ COPY prometheus-*.${OS}-${ARCH}/consoles/*             /prometheus/consoles/ COPY prometheus-*.${OS}-${ARCH}/LICENSE               /prometheus/LICENSE COPY prometheus-*.${OS}-${ARCH}/NOTICE                /prometheus/NOTICE  WORKDIR /prometheus RUN ln -s /prometheus/bin/prometheus /prometheus/bin/promtool /bin/ &&      chown -R root:root /prometheus  USER       root EXPOSE     9090 VOLUME     [ "/prometheus/data", "/prometheus/etc" ] ENTRYPOINT [ "/bin/prometheus" ] CMD        [ "--config.file=/prometheus/etc/prometheus.yml",               "--storage.tsdb.path=/prometheus/data",               "--web.console.libraries=/prometheus/console_libraries",               "--web.console.templates=/prometheus/consoles",               "--web.enable-lifecycle",               "--web.enable-admin-api" ]
  解读:使用amd64/busybox:1.35作为基础镜像,将Prometheus的二进制文件放入bin目录,将配置文件统一放入etc目录;将配置文件目录和数据存储目录定义为匿名卷;启动方式中,新增两项配置,开启配置文件的热加载和数据库管理功能。
  在同目录下添加一个.dockerignore  文件,来屏蔽一些无关构建的文件:prometheus-*.linux-amd64.tar.gz etc构建镜像:
  新建目录,将版本包和Dockerfile文件放入该目录# mkdir /root/prometheus;cd /root/prometheus # ls Dockerfile prometheus-2.33.1.linux-amd64.tar.gz
  解压版本包,同时新建.dockerignore  文件,在该文件下添加与构建无关的文件或目录(这表示构建时,不将这些文件复制到构建上下文环境中)# tar -zxf prometheus-2.33.1.linux-amd64.tar.gz # cat .dockerignore prometheus-*.linux-amd64.tar.gz
  执行构建命令docker build  $ docker build -t prometheus:v1 . Sending build context to Docker daemon  200.8MB Step 1/18 : FROM amd64/busybox:1.35  ---> 96b2896db672 Step 2/18 : LABEL maintainer="The Prometheus Authors "  ---> Running in 04e215d3c3e0 Removing intermediate container 04e215d3c3e0  ---> 88050ed9e09d Step 3/18 : ARG ARCH="amd64"  ---> Running in 5ce5d1b12e0f Removing intermediate container 5ce5d1b12e0f  ---> 370832a62c71 Step 4/18 : ARG OS="linux"  ---> Running in d7ea847b2d90 Removing intermediate container d7ea847b2d90  ---> cf9781cb7722 Step 5/18 : COPY prometheus-*.${OS}-${ARCH}/prometheus                          /prometheus/bin/  ---> 42b4b03f8332 Step 6/18 : COPY prometheus-*.${OS}-${ARCH}/promtool                            /prometheus/bin/  ---> 897066bd0ca3 Step 7/18 : COPY prometheus-*.${OS}-${ARCH}/prometheus.yml                      /prometheus/etc/prometheus.yml  ---> b141fa2c22a6 Step 8/18 : COPY prometheus-*.${OS}-${ARCH}/console_libraries/*    /prometheus/console_libraries/  ---> 228b62d5e860 Step 9/18 : COPY prometheus-*.${OS}-${ARCH}/consoles/*             /prometheus/consoles/  ---> 5c9125f39322 Step 10/18 : COPY prometheus-*.${OS}-${ARCH}/LICENSE                /prometheus/LICENSE  ---> c89f57bbceb6 Step 11/18 : COPY prometheus-*.${OS}-${ARCH}/NOTICE                 /prometheus/NOTICE  ---> 7e459dfd86fe Step 12/18 : WORKDIR /prometheus  ---> Running in 8f09cea3e03e Removing intermediate container 8f09cea3e03e  ---> ee1f386d159b Step 13/18 : RUN ln -s /prometheus/bin/prometheus /prometheus/bin/promtool /bin/ &&     chown -R root:root /prometheus  ---> Running in 093e9b6b8d14 Removing intermediate container 093e9b6b8d14  ---> 121df7a93221 Step 14/18 : USER       root  ---> Running in b4ffed0d491a Removing intermediate container b4ffed0d491a  ---> 75e2aada4653 Step 15/18 : EXPOSE     9090  ---> Running in b09e22947d56 Removing intermediate container b09e22947d56  ---> c700606bd44d Step 16/18 : VOLUME     [ "/prometheus/data", "/prometheus/etc" ]  ---> Running in e18dd4f3af2a Removing intermediate container e18dd4f3af2a  ---> 824d398febdd Step 17/18 : ENTRYPOINT [ "/bin/prometheus" ]  ---> Running in ff8fb122f2fb Removing intermediate container ff8fb122f2fb  ---> 414d2523bb9b Step 18/18 : CMD        [ "--config.file=/prometheus/etc/prometheus.yml",              "--storage.tsdb.path=/prometheus/data",              "--web.console.libraries=/prometheus/console_libraries",              "--web.console.templates=/prometheus/consoles",              "--web.enable-lifecycle",              "--web.enable-admin-api" ]  ---> Running in 56a8542d31a9 Removing intermediate container 56a8542d31a9  ---> 17f5fa014281 Successfully built 17f5fa014281 Successfully tagged prometheus:v1
  查看构建的镜像:$ docker images REPOSITORY        TAG       IMAGE ID       CREATED         SIZE prometheus        v1        17f5fa014281   6 minutes ago   403MB amd64/busybox     1.35      96b2896db672   2 weeks ago     1.24MB prom/prometheus   latest    a3d385fc29f9   2 months ago    201MB # 可以看到自己构建的镜像比官方镜像大了一倍启动容器:
  直接启动:$ docker run -td prometheus:v1  $ docker run -td -p 9090:9090 prometheus:v1
  直接启动后,配置文件和数据存储目录将默认使用匿名挂载。
  挂载路径使用docker inspect  命令查看
  路径挂载(推荐):
  选择挂载出配置文件目录,数据存储目录使用默认的匿名挂载就行了。
  由于路径挂载时,容器内挂载路径下的文件会被隐藏,同时Prometheus的启动又需要指定配置文件,所以启动容器前,需要提前将配置文件放在挂载点路径下,以避免容器启动后Prometheus进程无法启动,导致容器退出。
  新建挂载点,并存放配置文件:$ tree /root/prometheus/etc /root/prometheus/etc   first_rules.yml   prometheus.yml   static_config       node_exporter.yml
  然后就可以使用构建的镜像来启动容器了,命令如下# 选择其中一个即可 $ docker -td -v /root/prometheus/etc:/prometheus/etc prometheus:v1  $ docker run -td -p 9090:9090 --name prometheus-1 -v /root/prometheus/etc:/prometheus/etc prometheus:v1  $ docker run   	-td -p 9090:9090 --name prometheus-1      -v /root/prometheus/etc:/prometheus/etc      prometheus:v1
  查看容器:$ docker ps CONTAINER ID   IMAGE           COMMAND                  CREATED              STATUS              PORTS                                       NAMES b2ebd62251ac   prometheus:v1   "/bin/prometheus --c…"   About a minute ago   Up About a minute   0.0.0.0:9090->9090/tcp, :::9090->9090/tcp   prometheus-1  $ docker ps --format "table {{.Image}}	{{.ID}}	{{.Ports}}	{{.Status}}	{{.Names}}" IMAGE           CONTAINER ID   PORTS                                       STATUS         NAMES prometheus:v1   b2ebd62251ac   0.0.0.0:9090->9090/tcp, :::9090->9090/tcp   Up 6 minutes   prometheus-1
  访问Prometheus的UI界面:http://192.168.175.130:9090/
  原文地址 https://www.cnblogs.com/MrReboot/p/15937802.html

iPhone14Pro取消刘海双挖孔,增加紫色版,可惜这配色没了时间已经进入8月,下个月苹果新款iPhone手机iPhone14系列手机就要推出了,距离iPhone14系列手机的推出是越来越近。从目前的爆料信息来看iPhone14系列手机的外观iPhone14取消远峰蓝配色个性紫色将成新网红根据最新消息显示,下个月发布的iPhone14将会取消远峰蓝和粉色配色,要知道远峰蓝配色此前可以说是iPhone13的网红配色,不少用户专门买远峰蓝配色,表示很好看。而取消这两种经百位达人江湖领衔!共聚武侠之作剑侠世界38月10日公测嘉年华自国内武侠题材手游剑侠世界3宣布于8月10日公测之后,玩家们的热情一度高涨,随着时间的进一步推进,官方也爆料出越来越多的刺激内容,为公测之日增添更多姿色。这款国风武侠手游,在经历了BLG赢了也没戏?LPL季后赛形势更新BLG想进前十,需要水鬼帮助各位LPL的观众和英雄联盟召唤师大家好,这里是天下游戏汇。今天进行的第二场LPL比赛中BLG是成功取胜了,而且拿到了最好的比分20,赢下比赛后观众都在分析BLG的季后赛局势,可能很LPL季后赛彻底乱套Icon梦回S5带队取胜,BLG保留理论出线可能性LPL夏季赛已经接近尾声,除了确定晋级的6支战队,和已经被淘汰的5支战队之外,剩余的6支队伍将争夺最后的4个晋级名额,各大队伍也都在为此努力着,在第9周第5个比赛日,TES以20轻时隔5年后,米哈游又一次ACT尝试,绝区零做成这样你满意吗?在今年5月份,米哈游的新作绝区零刚爆出时,很多玩家都会感到非常的诧异,因为这又是一款ACT游戏。当然就有玩家好奇,米哈游这么做,就不怕玩家审美疲劳吗?而从最近绝区零的首测表现来看,完美世界下界中隐藏的四大仙王,谁更厉害?虽然八域只是上界起初关押罪犯的囚笼,但是随着时间的推移,开始出现了很多惊艳之才,这些人有的飞升到上界躲过大劫,有的则是被当成补药被上界巨头榨干。然而除了这些人以外,还有一些原本在下iPhoneSE2升级iOS15。6正式版,续航突破硬件极限,不掉帧,可养老都说iOS15。6正式版的口碑很好,升级后有不错的表现,后台有粉丝私信问iPhoneSE2能否升级iOS15。6?下面就给大家分享升级后的体验感受。1续航方面iPhoneSE2曾经刺客信条英灵殿疑似加入赛博机械元素钢铁侠战甲曝光不知道什么时候开始,刺客信条就开始越来越放飞自我。近日,油管用户AndyReloads发布视频分享了自己从游戏挖掘中获得信息,看起来刺客信条英灵殿即将加入赛博机械元素,甚至还有一套K50宇宙终极大作!RedmiK50至尊版官宣,终于等到了在我看来,今年的手机市场可以说是相当惨烈,各家厂商都使出了浑身解数来提高自家产品的竞争力,例如realme全球首发了150W快充,红米将2K屏幕干到了2千元档位,OPPO将马里亚纳雷军彻底清仓,256GBIP68防水,120倍变焦旗舰从6499跌至3739元旗舰机和中端机差距最为明显的地方就是拍照上,现在国产厂商召开高端旗舰机新品发布会,每次在相机拍照上,所讲解的时间也是最久的了,而至于性能上,都是几句话就讲完了。相比中端机,旗舰机的
山东诚硕科技一体化家庭基站将助力数字化转型发展据山东诚硕科技了解,在8月24日举行的第六届未来网络发展大会上,中国移动研究院和中国移动紫金(江苏)创新研究院正式发布了全球首款2。6GHz5G一体化家庭基站山东诚硕科技指出,家庭华为首款鸿蒙家庭存储官宣!全家人的数据有了智慧新家?这是一个数字时代,更是一个数据时代。如何有效保存利用海量的数据,是从企业到个人始终面临的一道难题。对于个人用户家庭用户而言,如何选择最合适自己的存储方式,更是需要一点点智慧。机械硬NBA一夜6大突发交易动态霍华德加盟勇士布朗和凯尔特人矛盾爆发一名记透露杜兰特明年夏天将离开篮网今天名记chrt透露根据东部高管的可靠消息他们认为杜兰特当前留守篮网,只是缓兵之计,因为欧文答应了两人在联手一个赛季,如果没有夺冠的话,KD会和欧科比妻女齐出庭,瓦妮莎发福状态佳,大女儿继承父母颜值和气质前几日,科比遗孀瓦妮莎将胜诉中获得的1600万元赔偿金捐赠给了以科比和女儿吉安娜命名的基金会。这场为期两年多的官司,终于有了裁定,同时也狠狠打脸当初说她起诉泄露科比遗骸照片是为了钱家庭有100万,该如何理财?购买银行理财产品,还是股票基金?家庭有100万,该如何理财?其实,理财方式并不是单纯依据钱数来确定的,而是要根据家庭的具体情况来判定。100万元说多不多,说少也不少。至少还够不上国家规定的合格投资者标准。合格投资贫困户里飞出来的奥运冠军父亲因病欠下巨债,母亲同时打3份工去年东京奥运会上,我国举重运动员谌利军在男子67公斤级决赛中不仅力压对手勇猛夺冠,而且还打破了这一项目的奥运会纪录,让无数观众都为之欢呼雀跃。尽管比赛过程中一度出现了落后的局面,让浙江哪道菜最好吃?经过评选,这8道不错,全吃过的是地道浙江人浙江,位于长江三角洲地区,气候怡人,是旅游爱好者们都魂牵梦萦的水乡。这里土地肥沃,资源丰富,有着鱼米之乡之称!美食文化更是源远流长!每次去浙江都会有两个目的第一是看景,第二则是品尝自律饮食,其实很简单因为要备孕,所以研究了一下哪些东西应该多吃,哪些东西应该避免。惊讶地发现,孕期饮食建议和减脂餐惊人的相似。后来经过仔细研究,原来所有的规律和秘密都藏在这张图里。按宝塔的结构饮食,万全家都爱吃的春卷,做法真简单,酥脆鲜香,我家隔三岔五就做春卷是我们都爱吃的一种食物,每个地方都有自己独特的春卷做法。这次分享的是一道家常的春卷做法,适合大部分人食用,有一些朋友可能对这种口感不太感冒,所以不喜欢吃。这种春卷在我家很受欢迎Valve透露将有新一代SteamDeck,承诺新产品会更为开放和强大近期SteamDeck好事不断,不但得到了更多的玩家认可,而且在摆脱全球供应链问题后,产能不断提高,销量节节上升。SteamDeck在正式发售两个月后,就压倒了今年大热游戏艾尔登法产品品牌渠道三箭齐发,海信新风空调引领健康新赛道在8月24日哈尔滨举行的2022中国空调行业高峰论坛上,凭借在新风领域的持续发力深耕,海信新风空调在众多品牌中脱颖而出,独揽三项行业大奖,强势领跑2023新冷年。海信新风空调一举斩