docker-compose限制CPU和内存
compose
compose - Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,通过Compose文件格式简化应用部署过程。
项目地址:https://gitcode.com/gh_mirrors/compose/compose
免费下载资源
·
最近在使用docker的过程中,发现CPU和内存经常占满,导致其它服务都不能正常使用。下面本文就探讨一下如何使用docker-compose限制内存和cpu的。本文以docker-compose.yml中version 3.x为例。
内存和CPU限制
yml文件添加 service.deploy内容如下:
deploy:
resources:
limits:
cpus: "2.00"
memory: 5G
reservations:
memory: 200M
注意:
reservations
中不支持cpus
,仅支持内存。
以ldap为例:
version: '3.7'
services:
openldap:
image: 10.10.239.54/public/openldap:1.3.0
container_name: openldap
environment:
- N9E_NID=22
ports:
- "389:389"
- "636:636"
deploy:
resources:
limits:
cpus: "2.00"
memory: 5G
reservations:
memory: 200M
volumes:
- ./ldap:/var/lib/ldap
- ./slapd.d:/etc/ldap/slapd.d
restart: always
启动容器
限制指令为deploy.resources.limits这部分,注意节点位置,上面这部分限制的含义是:openldap服务的CPU使用被限制在最多200%的CPU能力,内存使用被限制在最多5GB。同时,这个服务至少需要200MB的内存。
我们启动的时候命令需要发生一些变化,否则不会生效:
#原本的启动命令为
docker-compse up -d
# 需要添加一个参数--compatibility表示以兼容模式来运行
docker-compose --compatibility up -d
这里的关键在于添加--compatibility参数以兼容模式来运行,否则限制不会生效。
验证
通过上述方法限制容器CPU和内存后,可以使用命令:docker stats查看容器资源使用情况.
总结
docker-compose.yml限制内存需要添加deploy.resources.limits节点
docker-compose命令启动的时候需要添加--compatibility参数以兼容模式来运行,否则限制不会生效
以上就是Docker Compose中限制容器的CPU和内存使用的全部内容。
GitHub 加速计划 / compose / compose
33.27 K
5.15 K
下载
compose - Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,通过Compose文件格式简化应用部署过程。
最近提交(Master分支:2 个月前 )
501b5acd
Add `jhrotko` to Core Maintainers.
Signed-off-by: Laura Brehm <laurabrehm@hey.com>
3 天前
f51bc4cd
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
4 天前
更多推荐
已为社区贡献23条内容
所有评论(0)