Docker-compose:如何在版本3中执行版本2“ mem_limit”?

时间:2018-12-05 15:23:04

标签: docker docker-compose

最近,我尝试将版本2 docker-compose yaml文件升级到版本3。具体来说,我从2.1升级到3.4。使用docker-compose版本1.18.0和docker版本18.06.01。

由于存在版本2选项docker-compose,第一次尝试导致mem_limit中止。读取这些Version 3 docs后,它清楚地表明mem_limit已被删除,并看到“升级”以指导用法脱离该选项。这些说明告诉您将deploy部分与resources一起使用。对docker-compose.yml文件进行这些更改,系统即可正常启动。

不幸的是,我错过了该免责声明,该声明指出deploydocker-compose忽略了!我的问题:有没有办法在仍然强制执行容器内存限制的同时使用Compose文件参考3和docker-compose

1 个答案:

答案 0 :(得分:3)

不,没有。

同样,您也不必升级,如果您不使用群集,甚至没有任何理由升级。

可悲的是,在正式的docker文档中,已有说明

  

版本3(最新,推荐)

这实际上不是真的,如果您使用不带集群的docker-compose,几乎没有任何理由在新项目v3上切换或使用。在官方存储库中,您可以看到类似https://github.com/docker/compose/issues/4513#issuecomment-281478365https://github.com/docker/compose/issues/5586#issuecomment-375577458的注释。

此外,在compatibility-matrix中,即使v3退出了相当长的一段时间,您仍可以看到v2仍在升级。