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。

相关推荐
Tronlong创龙1 小时前
SBC-TL3588 单板机 / EPC-TL3588 工控机 Docker 开发手册(二)
docker·开发板·嵌入式开发·硬件开发·工业控制
AI服务老曹5 小时前
视觉算法模型管理完整流程:多版本上线、灰度发布与回滚的落地实践
人工智能·docker·音视频
辉的技术笔记7 小时前
拆解 Dify 的 Celery:15 个队列都在干什么
docker
渣渣盟13 小时前
Docker 运维常用命令手册(含扩容与实战)
运维·docker·容器
小尘要自信14 小时前
小米摄像头怎么接入RTSP?Go2RTC转流、EasyNVR录像与公网访问教程
人工智能·docker·开源
我叫张小白。15 小时前
一个微服务电商+社区项目(瓷韵app)的技术深度复盘
docker·微服务·云原生·架构
程序员老油条1 天前
WSL2 + Docker Desktop:Windows 下的完美 Java 开发环境
java·windows·docker·wsl2
大侠锅锅1 天前
第 4 篇:策略模式实践——用统一接口管理 Docker 容器、原生进程与 K3s Pod
docker·容器·边缘计算·策略模式·iot
小蓝波1 天前
docker 的命令
java·docker·容器
2301_801184751 天前
docker 工作
java·docker·容器