deploy.resources
键,而且该部分只对swarm或docker堆栈有效。
cpu_shares,cpu_quota,cpuset,mem_limit,memswap_limit:这些已被deploy下的资源键所取代。请注意,部署配置仅在使用docker stack deploy时生效,并被docker-compose忽略。
如何使用yml文件的v3格式的docker-compose设置内存/ CPU限制?
答案 0 :(得分:10)
我想知道同样的事情并发现了这个: https://github.com/docker/compose/issues/4513
因此,简而言之,这是不可能的,您必须使用docker-compose格式的2.1版才能指定docker-compose up
答案 1 :(得分:0)
前一段时间我正在搜索此问题。我找到了答案here。一开始,我尝试在不使用docker stack的情况下实现此功能,但这没用。
这是您用来限制容器的CPU /内存消耗的代码段。有关其他属性,您可以搜索docker的文档。
deploy:
replicas: 5
resources:
limits:
cpus: "0.1"
memory: 50M
撰写文件无法识别部署属性,除非您将应用程序部署为堆栈。
答案 2 :(得分:0)
您可以尝试使用docker-compose --compatibility up
这是CLI标志,将v3文件转换为v2文件,并在可能的情况下转换部署选项。