2014-11-29 4 views
2

У меня есть приложение с несколькими микросервисами, и я пытаюсь понять, обеспечивает ли Docker все преимущества памяти. Мои услуги - Java 7/Tomcat 7. Предположим, у меня 20 из них; есть ли у меня преимущество для запуска Docker поверх AWS EC2 Ubuntu 12.04 VM? Я понимаю ценность рабочего места для разработчиков и т. Д .; мой основной вопрос/беспокойство касается памяти VM памяти. Если я запустил каждую из этих 20 сервисов в своем собственном контейнере со своим собственным Tomcat, я полагаю, что мне понадобится 20х накладных расходов памяти для Tomcat, верно? Если это так, я пытаюсь решить, имеет ли Docker ценность или более накладные расходы, чем это стоит. Похоже, что наилучшее предложение Docker стоит над собственной ОС, не так много в VM; есть ли другой подход помимо EC2 VM на AWS, где лучше Docker?Поддерживает ли Docker любую эффективность памяти поверх VM?

Мне любопытно, как другие справятся с этой ситуацией или если Докер - это даже решение в этом пространстве. Спасибо за любую информацию, которую вы можете предоставить.

ответ

7

Нет, нет преимущества памяти перед запуском 20 процессов Tomcat. Демон Docker и вспомогательные процессы для «издательских» портов будут потреблять дополнительную память.

Преимущество Докера - более 20 виртуальных машин, которые будут потреблять значительно больше памяти. Он обеспечивает большую изоляцию, чем только процессы, например. каждый процесс увидит свою собственную файловую систему, сетевой интерфейс, пространство процесса. Также Docker предоставляет преимущества для программного обеспечения для упаковки и доставки.