Docker-06-资源限制+可视化面板
Docker资源限制
默认情况下,容器没有资源限制,会在宿主机内核调度允许的情况下,尽可能多的占用给的资源。Docker提供了能控制容器使用CPU、内存、IO等的方法。
内存
一旦发生OOME,任何进程都有可能被杀死,包括docker daemon在内
为此,Docker特地调整了docker daemon的OOM优选级,以免它被内核“正法,但容器的优选级并未被调整
–memory-swap
设置--memory-swap
时要先设置-m
CPU
常用小结
选项 | 描述 |
---|---|
-m,–memory | 容器可以使用的最大内存量 |
–memory-swap | 允许交换到磁盘的内存量 |
–memory-swappiness=<0-100> | 容器使用swap分区交换的百分比(0-100,默认为-1) |
–oom-kill-disable | 禁用OOM Killer |
–cpus | 可以使用的CPU数量 |
–cpuset-cpus | 限制容器使用特定的CPU核心,如(0-3,0,1) |
–cpu-shares | CPU共享(相对权重) |
Docker 可视化面板
- Portainer:基于Go,是一个轻量级的图形化界面管理工具,可轻松管理Docker主机。
- Rancher:开源的企业级容器管理平台,Rancher提供了在生产环境中使用管理Docker和Kubernetes的全栈化容器部署与管理平台。(CI/CD)
- cAdvisor:Google开发的容器监控工具, 会显示当前容器的资源使用情况,包括 CPU、内存、网络、文件系统等,显示容器列表。
portainer
1 | docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer |
访问8088端口 http://192.168.0.10:8088
Rancher
Rancher
是一个开源的企业级容器管理平台。通过Rancher
,企业不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher
提供了在生产环境中使用管理Docker
和Kubernetes
的全栈化容器部署与管理平台。
1 | docker run -d --restart=unless-stopped -p 81:80 -p 443:443 rancher/rancher:v2.0.0 |
cAdvisor
cAdvisor
是Google
开发的容器监控工具。
- 监控 Docker Host cAdvisor 会显示当前 host 的资源使用情况,包括 CPU、内存、网络、文件系统等。
- 监控容器 点击 Docker Containers 链接,显示容器列表。点击某个容器,比如 sysdig,进入该容器的监控页面。
以上就是 cAdvisor 的主要功能,总结起来主要两点:
- 展示 Host 和容器两个层次的监控数据。
- 展示历史变化数据。
由于cAdvisor
提供的操作界面略显简陋,而且需要在不同页面之间跳转,并且只能监控一个 host,这不免会让人质疑它的实用性。但 cAdvisor 的一个亮点是它可以将监控到的数据导出给第三方工具,由这些工具进一步加工处理。
我们可以把 cAdvisor
定位为一个监控数据收集器,收集和导出数据是它的强项,而非展示数据。 cAdvisor 支持很多第三方工具,其中就包括Prometheus
。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Kinmfer's Blogs!
评论
ValineLivere