Docker容器的资源使用限制
如何设置Docker容器的CPU和内存使用限制
容器布署后数,每个容器占用资源数不同,当资源不够用时,互相影响,docker提供上资源使用限制功能
- 查看docker 容器内存及CPU使用命令
docker stats
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
c7bdcdc77786 7.04% 1.212 GiB / 7.638 GiB 15.87% 0 B / 0 B 8.08 MB / 372 MB 183
da75d82bfa9c 7.21% 1.5 GiB / 7.638 GiB 19.64% 0 B / 0 B 9.86 MB / 372 MB 184
4769f05b983c 7.66% 1.225 GiB / 7.638 GiB 16.04% 0 B / 0 B 13.6 MB / 372 MB 187
. 通过docker run来限制Docker容器资源
我们可以使用docker run命令直接设置资源限制。这是一个简单的办法。但是,该限制于只适用于映像的一次特定执行任务
2.1 Memory 内存限制
例如,让我们将容器可以使用的内存限制为512mb
docker run -m 512m nginx
我们还可以设置一个软限制或者叫保留,当docker检测到主机内存不足时激活:
docker run -m 512m --memory-reservation=256m nginx
2.2 CPU 限制
默认情况下,访问主机的CPU是无限制的,我们可以使用CPUs参数设置cpu限制。例如,让我们约束容器最多使用两个cpu:
docker run --cpus=2 nginx
我们还可以指定CPU分配的优先级。默认值是1024,数字越高优先级越高:
docker run --cpus=2 --cpu-shares=2000 nginx
与内存保留,当计算能力不足且需要在竞争进程之间进行分配时,CPU共享起主要作用
使用docker-compose文件来设置容器资源
我们可以使用docker-compose文件来实现类似的结果。请注意,不同版本的docker-compose的格式设置上是不同的
3.1 docker swarm Versions 3 以上的版本
让我们给Nginx的服务限制是一半的CPU和512m的内存,保留四分之一的CPU和128m的内存。我们需要在我们的服务配置中创建“部署”和“资源”分段:
services:service:image: nginxdeploy:resources:limits:cpus: 0.50memory: 512Mreservations:memory: 128M
注:reservations没有设置cpus的命令
一般情况下容器的cpus使用被限制在一半,内存为512MB ,如果服务器资源紧张的时候,cpus占用变为1/4,内存占用被限制为128MB
如果要使用上述docker-compose.yaml部署应用我们需要使用docker stack命令 , 部署应用到swarm中
docker stack deploy --compose-file docker-compose.yml bael_stack
3.2 docker-compose Version 2 配置方式
在旧版本的docker-compose中,我们可以将资源限制放在与服务的主要属性相同的级别上。它们的名字也略有不同:
service:image: nginxmem_limit: 512mmem_reservation: 128Mcpus: 0.5ports:- "80:80"
Docker容器的资源使用限制相关推荐
- 详解docker容器的资源监控方案
docker资源的监控方案 如何监控docker容器整体的资源利用率呢?如何监控独立docker容器的资源利用率呢? 先说结论:前者用kubesphere或者rancher(大厂都是自己搞的监控系统) ...
- docker容器的资源消耗
将jar放入docker容器是需要占用很多空间的. 比如我一个jar也就60M,结果生成容器后,直接干到了360M以上的空间,我一堆jar准备用docker运行的,直接把我的linux的20G磁盘空间 ...
- docker查看java资源_JDK11设置Docker容器资源感知
深入浅出docker+docker实战云图书 105.8元 (需用券) 去购买 > 一.背景 对于Java8的一些较早的版本(8u131以前?),如果部署在docker容器中,由于JVM不能感知 ...
- 《Docker——容器与容器云》:第一章 从容器到容器云
2013年初,一个名字从云计算领域横空出世,并在整个IT行业激起千层浪.这就是Docker--一个孕育着新思想的"容器".Docker选择容器作为核心和基础,依靠容器技术支撑的Do ...
- CentOSLinux安装Docker容器
Docker 使用 环境说明 CentOS 7.3(不准确地说:要求必须是 CentOS 7 64位) 不建议在 Windows 上使用 Docker 基本概念 官网:https://www.dock ...
- Docker容器安全性分析
Docker是目前最具代表性的容器技术之一,对云计算及虚拟化技术产生了颠覆性的影响.本文对Docker容器在应用中可能面临的安全问题和风险进行了研究,并将Docker容器应用环境中的安全机制与相关解决 ...
- Docker容器化开发流程(一)介绍
文章目录 目标 容器化开发模式 生产环境使用docker 的问题 容器化流程 目标 了解容器化开发模式 了解容器化开发流程 参考: Docker技术入门与实战 第二版 书籍 [认识容器](https: ...
- 为什么用Yarn来做Docker容器调度引擎
这篇文章是在一个微信群里和人聊天,然后整理出来的文字.当时Hulu推出了基于Yarn的Docker调度引擎.我正好那段时间也实现了一个类似的,经过交流,发现最后的实现基本是一致的.然而业界用的较多的是 ...
- 如何设置Docker容器的CPU和内存使用限制
如何设置Docker容器的CPU和内存使用限制 1. 概述 在很多情况下,我们需要限制docker主机上资源的使用. 在本教程中,我们将学习如何设置docker容器的内存和CPU限制 2. 通过doc ...
- Docker安全加固——利用LXCFS增强docker容器隔离性和资源可见性
前言 lxcfs是一个开源的FUSE(用户态文件系统)实现来支持LXC容器. LXCFS通过用户态文件系统,在容器中提供下列 procfs 的文件: /proc/cpuinfo /proc/disks ...
最新文章
- 扩展typeof来判断js变量的类型
- 加速产业生态算力升级,华为鲲鹏展翅福州
- python基础包括什么-Python基础教程 模块包含什么
- 【Linux 内核】线程调度示例一 ② ( 获取指定调度策略的最大和最小优先级 | 代码示例 )
- cesium添加填充_cesium编程中级(四)使用渐变纹理
- 【Objective-C】Http常用API、同步请求与异步请求[转]
- C#反射读取和设置类的属性
- php 字符串过滤指定字符,php字符串过滤与替换小结
- c# implicit explicit关键字(隐式和显式数据类型转换)
- xampp mysql使用教程_nodejs使用xampp中的mysql教程
- 【前端——补充学习】解决emos项目报错、路由、组件
- et200sp系统服务器模块,ET200SP GSD文件组态时服务器模块的选择方法
- DNS服务器的安装与配置
- 康奈尔笔记记录法[转
- HMM隐马尔可夫模型详解
- WebGoat8 M17 Password Reset 密码重置 答案、思路、题解
- 二维码解码器Zbar 的配置和基本使用
- 开源后台管理框架之AdminLTE学习
- 黑马程序员—【教学软件】广播软件下载
- Praat脚本-005 | 标注文件批量增加层级
热门文章
- 西门子安装未找到ssf文件_西门子Step7 V5.5 中文版+Sp1 安装教程
- 2021软件测试、自动化测试、面试题整理
- 日置BT3562无法开机怎么办,日常如何进行保养
- 原生js格式化显示json对象以及stringify的妙用
- 关于投资收益和风险的例题(线性规划)
- jedate日期插件使用
- HenCoder Android 开发进阶: 自定义 View 1-2 Paint 详解
- 在Java 中 使用 AWS SNS 来发送短信的例子
- 解决sns加载数据load_dataset()报错问题
- 离线网页 HTML+CSS+DIV