Docker是否在VM上提供任何内存效率?

f8s*_*ter 2 java ubuntu tomcat amazon-web-services docker

我有一个带有许多微服务的应用程序,我试图了解Docker是否提供了任何内存优势.我的服务是Java 7/Tomcat 7.假设我有20个; 在AWS EC2 Ubuntu 12.04 VM上运行Docker对我有什么好处?我理解开发人员工作站等随处运行的价值; 我的主要问题是关于VM内存占用.如果我使用自己的Tomcat在自己的容器中运行这20个服务中的每一个,我的假设是我需要20倍的Tomcat内存开销,对吧?如果这是真的,我试图决定Docker是否有价值或者是否比它的价值更高.似乎Docker的最佳价值主张是在本机操作系统之上,而不是在VM中; 在AWS上的EC2 VM有哪些不同的方法,Docker最好?

我很好奇其他人如何处理这种情况,或者Docker甚至是这个领域的解决方案.感谢您提供的任何见解.

Bry*_*yan 8

不,运行20个Tomcat进程没有内存优势.Docker守护程序和"发布"端口的辅助进程将消耗额外的内存.

Docker的优势在于超过20个虚拟机,这将消耗更多的内存.它比单独的进程提供更多隔离,例如,每个进程将看到自己的文件系统,网络接口,进程空间.Docker还为包装和运输软件提供了优势.