当前位置: 首页 > news >正文

08-docker综合应用

08-docker综合应用

1.容器资源限制

官方文档
https://docs.docker.com/config/containers/resource_constraints/

在这里插入图片描述

2.docker内存限制

在这里插入图片描述

-m或者--memory=    容器可以使用的最大内存量。如果设置此选项,则允许的最小值为6m(6 兆字节)。也就是说,您必须将该值设置为至少 6 兆字节。--oom-kill-disable    默认情况下,如果发生内存不足 (OOM) 错误,内核会终止容器中的进程。要更改此行为,请使用该--oom-kill-disable选项。仅在您还设置了该-m/--memory选项的容器上禁用 OOM 杀手。如果-m未设置该标志,主机可能会耗尽内存,内核可能需要终止主机系统的进程以释放内存。

下载性能压测工具

1.安装
docker pull lorel/docker-stress-ng2.查看压测工具帮助信息
[root@docker-200 ~]#docker run --name mem_test -it --rm lorel/docker-stress-ng |grep 'mem'--cache-flush      flush cache after every memory write (x86 only)--memcpy N         start N workers performing memory copies--memcpy-ops N     stop when N memcpy bogo operations completed--vm-hang N        sleep N seconds before freeing memory--vm-keep          redirty memory instead of reallocating--vm-locked        lock the pages of the mapped region into memory3.创建一个没有资源限制的容器任务
[root@docker-200 ~]#
[root@docker-200 ~]#docker run --name mem_test -it lorel/docker-stress-ng |grep 'vm'-m N, --vm N             start N workers spinning on anonymous mmap--vm-bytes N       allocate N bytes per vm worker (default 256MB)--vm-hang N        sleep N seconds before freeing memory--vm-keep          redirty memory instead of reallocating--vm-ops N         stop when N vm bogo operations completed--vm-locked        lock the pages of the mapped region into memory--vm-method m      specify stress vm method m, default is all--vm-populate      populate (prefault) page tables for a mapping
Example: stress-ng --cpu 8 --io 4 --vm 2 --vm-bytes 128M --fork 4 --timeout 10s

内存压测结果

在这里插入图片描述

创建容器且限制内存

[root@docker-200 ~]#docker run --rm --name mem_test_www.yuchaoit.cn -m 200m  -it lorel/docker-stress-ng --vm 2
stress-ng: info: [1] defaulting to a 86400 second run per stressor
stress-ng: info: [1] dispatching hogs: 2 vm

在这里插入图片描述

3.容器CPU限制

在这里插入图片描述

https://docs.docker.com/config/containers/resource_constraints/#cpu--cpus=<value>    指定容器可以使用多少可用 CPU 资源。例如,如果主机有两个 CPU,并且您设置--cpus="1.5"了 ,则容器最多可以保证一个半的 CPU。这相当于设置--cpu-period="100000"和--cpu-quota="150000"。

小总结

一般不会限制性能,各大企业一般的服务器都是管够,这个不用担心

4.docker资源监控

注意ntp时间问题,时间数据库是比较敏感的

4.1docker自带的监控

docker ps  # 运行着的容器进程列表
docker top  container_id # 查看容器内进程
docker stats container_id # 查看容器内cpu,mem,io情况通过 docker stats 命令可以很方便的看到当前宿主机上所有容器的CPU,内存,以及网络流量等数据。
但 docker stats 命令的缺点是只是统计当前宿主机的所有容器,获取的数据是实时的,没有地方存储,也没有报警功能。

4.2cadvisor,prometheus,grafana容器监控方案

1.CAdvisor出自Google,优点是开源产品,监控指标齐全,部署方便,而且有官方的docker镜像,采集容器的CPU,内存,网络,文件系统等信息2. cAdvisor主要用于采集数据,并且导出数据交给其他展示软件即可。3.可以用CAdviror结合很多其他工具实现容器资源监控+展示;
Prometheus是主流方案之一。4.是什么CAdvisor
CAdvisor是一个容器资源监控工具,包括容器的内存,CPU,网络IO,磁盘IO等,同时提供了一个WEB页面用于查看容器的实时运行状态。CAdvisor默认存储2分钟的数据,而且只是针对单物理机,不过,CAdvisor提供了很多数据集成接口,支持InfluxDB,Redis,Kafka,Elasticsearch等集成,可以加上对应配置将监控数据发往这些数据库存储起来。CAdvisor功能主要有两点,展示Host,容器两个层次的监控数据和展示历史变化

4.3 prometheus是什么

在这里插入图片描述

这里我们进行一个了解即可,后续的我会单独写一个文档

在这里插入图片描述

数据采集

在这里插入图片描述

最后我给张图吧

在这里插入图片描述

至此,就完成了基于Prometheus + grafana完成了对 linux服务器,以及docker容器的数据采集+展示。
更多普罗米修斯的玩法,还得继续学习,这是一块非常大的知识点。
学习如普罗米修斯查询语句等。任重而道远呀!!
http://www.dtcms.com/a/469393.html

相关文章:

  • 电商网站建设与运营哦在线图片编辑助手
  • 十一款c++小游戏
  • 15-verilog的延时打拍问题记录
  • skynet.newservice接口分析
  • C# 中 Excel 工作表打印前页面边距的设置方法
  • uniapp学习【vue3在uniapp中语法,使用element】
  • 网站建设的基本流程和技术规范懒人免费建站模板
  • Linux的Ext文件系统:硬盘理解和inode及软硬链接
  • 可靠的媒体发稿网有哪些
  • 鸿蒙剪贴板服务的新特性
  • 上海外贸营销网站建设做app的模板下载网站
  • Linux中Tomcat部署项目
  • kanass入门到实战(16) - 如何管理产品
  • CAT-M:蜂窝物联网的基石与通信工程的精妙平衡
  • Flink 状态模式演进(State Schema Evolution)从原理到落地的一站式指南
  • 网站建设游戏开发专门做物理的网站
  • 计算机网络【第五章-传输层】
  • 打工人日报#20251011
  • 电子电气架构 ---安全车控操作系统介绍
  • python 网站开发入门wordpress获取文章
  • 苹果iOS26系统升级:液态玻璃与智能功能全解析
  • 第二十四讲:C++中的IO流
  • 上传头像到腾讯云对象存储-前端基于antdv
  • 百度智能建站系统深圳网站公司招聘信息
  • STM32单片机:基本定时器应用:PWM 生成(STM32L4xx)
  • 驱动开发-Linux启动
  • 【力扣】hot100系列(三)链表(二)(多解法+时间复杂度分析)
  • 初学者小白复盘14之——指针(3)
  • word和wps下分别设置签名或图片背景透明色的方法
  • 适合户外探险、物流、应急、工业,五款三防智能手机深度解析