3.11-容器的资源限制

这一小节我们来看一下如何限制容器的资源,比如CPU和内存。

我们先来看一下对内存的限制。

--memory和--memory-swap这两个参数,如果我们只限定了--memory,没有限定--memory-swap,那么--memory-swap的大小就会和--memory大小一样。

docker run --memory=200M flask-hello-docker --vm 1

--vm 1表示启动1个进程。

docker run --memory=200M flask-hello-docker --vm 1 --vm-bytes 500M

这里会看到报错提示内存不够,container启动失败。--vm-bytes不指定的时候默认是256M,--memory指定了200M,--memory-swap不指定的话也和--memory一致,也是200M。加起来就是400M。--vm 1 --vm-bytes 500M的意思是启动一个进程,进程大小是500M,大于400M,所以启动报错。

接下来看一下怎么限制CPU。介绍一个参数--cpu-shares

这个--cpu-shares设置的是相对CPU的权重。什么意思呢?假如我们有2个容器,我一个容器的--cpu-shares设置成10,另一个容器的--cpu-shares设置成5,这样的话会有一个什么效果呢?假如说我们这两个容器启动后把虚拟机的内存占满了,这两个容器的CPU占比加起来是100%,同时,第一个容器的CPU占比是第二个容器CPU占比的2倍。

docker run ----cpu-shares=10 --name=flask-hello-docker -d -p 20000:20000 flask-hello-docker --cpu 1

--cpu 1参数表示container启动的时候占用的是CPU 1。

相关推荐
晨陌y5 小时前
Flare自托管导航页教程:Docker部署、多用户、API与公网访问
运维·docker·容器
梅孔立7 小时前
Docker 容器网络不通:Tomcat 无法解析 MySQL、Nginx 无法反代 Tomcat 的生产级排查与治理
网络·docker·tomcat
螺蛳粉 螺蛳粉16 小时前
第 05 篇:etcd 深入:Raft 共识、watch 机制与快照备份恢复实战(底座认知 05)
docker·云原生·容器·kubernetes·etcd·分布式存储·kube-apiserver
PellyKoo19 小时前
【docker】cifs卷改smb密码后容器起不来的解决方法
运维·docker·容器
时早玖沐19 小时前
放弃 QQ 官方机器人:用 SnowLuma + AstrBot 自建 QQ 机器人
docker·开源·agent
阿标在干嘛21 小时前
容器编排的“场景适配”:我们为什么在部分服务中回归了Docker Compose?
运维·docker·容器
IT19951 天前
Docker 快速部署 DM8 达梦数据库|完整踩坑笔记
笔记·docker·容器
wzg20161 天前
ubuntu通过docker镜像部署安装onlyoffice
linux·ubuntu·docker
Star(up up up)1 天前
Docker系列---Docker容器基本命令(新手小白保姆级实操教程)
运维·学习·程序人生·青少年编程·docker·容器·dubbo
方便面不加香菜1 天前
Docker Image-- 镜像命令详解与使用示例
运维·docker·容器