最近,我尝试将版本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
文件进行这些更改,系统即可正常启动。
不幸的是,我错过了该免责声明,该声明指出deploy
被docker-compose
忽略了!我的问题:有没有办法在仍然强制执行容器内存限制的同时使用Compose文件参考3和docker-compose
?
答案 0 :(得分:3)
不,没有。
同样,您也不必升级,如果您不使用群集,甚至没有任何理由升级。
可悲的是,在正式的docker文档中,已有说明
版本3(最新,推荐)
这实际上不是真的,如果您使用不带集群的docker-compose,几乎没有任何理由在新项目v3上切换或使用。在官方存储库中,您可以看到类似https://github.com/docker/compose/issues/4513#issuecomment-281478365或https://github.com/docker/compose/issues/5586#issuecomment-375577458的注释。
此外,在compatibility-matrix中,即使v3退出了相当长的一段时间,您仍可以看到v2仍在升级。