Мое понимание Linux Containers (LXC) заключается в том, что он предоставляет собственный гипервизор для Linux-систем, аналогичный Windows Hyper-V, представленный в Windows 8. Под "родным гипервизором" я имею в виду, что для системы Linux хост-гостевые виртуальные машины внутри него без необходимости устанавливать какое-либо специализированное программное обеспечение для виртуализации.
Мое понимание Docker заключается в том, что он каким-то образом строится поверх LXC и позволяет разработчикам приложений определять:
- Точный стек приложения VM/ node, включая ОС, точную конфигурацию и настройку ОС и любые инструменты или приложения, установленные/настроенные/развернутые для этой ОС; и
- Точные требования к ресурсам для запуска этой VM/ node, включая требования к ЦП, требования к памяти/диску/сети, требования к балансировке нагрузки и репликации и т.д. Затем Docker определяет, какие узлы запускают контейнер, используя эти объявленные в качестве базовой линии.
Итак, если мое понимание LXC или Docker вообще вводит в заблуждение, , пожалуйста, начните с исправления!
Предполагая, что я более или менее корректен в своем понимании, я спрашиваю:
- Какова связь между Docker и, скажем, vmWare или Xen VM? Докер "сидит на вершине" уровня виртуализации? Другими словами, существуют ли "привязки Docker" для разных платформ виртуализации (vmWare, Xen, kvm и т.д.), И я могу взять контейнер Docker для
myapp
и развернуть его на любой платформе Docker-ified? - Какая связь между LXC и Docker? Докер просто просто расширяет LXC, или это аналогичная (но совершенно отдельная) концепция вообще? Если это расширение LXC, то каким образом?