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。

相关推荐
xuhe241 分钟前
Claude Code配合Astro + GitHub Pages:为 sharelatex-ce 打造现代化的开源项目宣传页
linux·git·docker·github·浏览器·overleaf
Mr.小海5 小时前
Docker 容器间依赖管理
运维·docker·容器
❀͜͡傀儡师11 小时前
使用 Docker 部署 Puter 云桌面系统
运维·docker·容器
swbook12 小时前
k8s1.35.1二进制部署
docker·kubernetes·k8s·kubectl-ai
2501_9248787313 小时前
中小电商自建直播间成本降47%:AI口播智能体轻量部署(含Docker+OBS链路)
人工智能·docker·容器·排序算法·宽度优先
taiguisheng13 小时前
Windows系统中安装WSL2与Docker-Desktop
windows·docker·容器
予枫的编程笔记13 小时前
【Docker进阶篇】Docker Compose实战:Spring Boot与Redis服务名通信全解析
spring boot·redis·docker·docker compose·微服务部署·容器服务发现·容器通信
岳来13 小时前
网络小白对容器参数endpoint 和gateway 对比
网络·docker·容器·gateway·endpoint
小锋学长生活大爆炸13 小时前
【教程】极简部署OpenClaw并接入飞书等各大平台
docker·飞书·openclaw
市安13 小时前
基于Centos构建Nginx镜像(Dokerfile)
linux·运维·nginx·docker·容器·centos·镜像