docker-compose.yml文件的第3版不再支持mem_limit.文档告诉我应该使用deploy.resources密钥,但这个部分只对swarm或docker堆栈有效.
cpu_shares,cpu_quota,cpuset,mem_limit,memswap_limit:这些已被deploy下的资源键所取代.请注意,部署配置仅在使用docker stack deploy时生效,并被docker-compose忽略.
...... 正如文档中所写的那样.
如何使用docker-compose和yml文件的v3格式设置内存/ CPU限制?
and*_*tti 11
我想知道同样的事情并发现了这个:https: //github.com/docker/compose/issues/4513
所以简而言之,这是不可能的,你必须使用docker-compose格式的2.1版来指定不被忽略的限制. docker-compose up
小智 9
您可以尝试docker-compose --compatibility up将 v3 文件转换为 v2 等效文件的 CLI 标志,并在可能的情况下翻译部署选项。
小智 6
我前段时间也在搜索这个问题。我在这里找到了答案。起初,我尝试在不使用 docker stack 的情况下实现此功能,但没有成功。
这是您用来限制容器的 CPU/内存消耗的代码片段。其他属性可以搜索docker的文档。
deploy:
replicas: 5
resources:
limits:
cpus: "0.1"
memory: 50M
Run Code Online (Sandbox Code Playgroud)
除非您将应用程序部署为堆栈,否则 Compose 文件无法识别部署属性。
| 归档时间: |
|
| 查看次数: |
5375 次 |
| 最近记录: |