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。

相关推荐
源图客5 小时前
【AI向量数据库】Weaviate介绍与部署
运维·docker·容器
一勺菠萝丶7 小时前
宝塔 Docker 安装 Ubuntu 及启动失败解决流程
ubuntu·docker·eureka
码云骑士9 小时前
28-Docker部署Django(下)-docker-compose编排与静态文件处理
docker·容器·django
至乐活着9 小时前
Docker Compose多服务编排实战:从零搭建Node.js+MySQL+Redis全栈应用
docker·微服务·devops·容器编排·compose
木雷坞10 小时前
Firecrawl Docker Compose 自托管排查:镜像、Redis、队列和 Playwright
redis·docker·容器·firecrawl
whyfail10 小时前
Colima:把 Docker Desktop 从 Mac 上“瘦身”的那把刀
macos·docker·容器
大佐不会说日语~12 小时前
在 Windows 本地用 Docker 部署向量模型(bge-m3)
windows·docker·容器·llm·ollama
xsc-xyc12 小时前
CasaOS + Docker 挂载外接硬盘部署 Jellyfin 私人影院
运维·docker·容器
码云骑士12 小时前
27-Docker部署Django(上)-从2GB到180MB的镜像瘦身实战
docker·容器·django
日取其半万世不竭12 小时前
PostgreSQL 跑在 Docker 里怎么备份?恢复成功才算备份成功
数据库·docker·postgresql