Docker не VM, зачем контейнеру нужна базовая ОС?
Говорят, что докер не является виртуальной машиной, а контейнеры непосредственно запускаются на хосте.
Но зачем контейнерам нужна ОС ОС?
Если процесс в контейнерах запускается на ОС базового изображения, какая разница между виртуальной машиной и докере (только ОС базового изображения может быть повторно использована и поддерживается только для чтения?)
И почему он загружается быстрее, чем VM?
Что составляет ОС ОС? ядро, rootfs или оба?
Ответы
Ответ 1
Возможно, вы захотите обратиться к этому сообщению в блоге:
http://www.activestate.com/blog/2013/06/solomon-hykes-explains-docker
Проще говоря, Docker делает изоляцию процесса, используя LXC (своего рода легкую виртуализацию, встроенную в ядро Linux). Основное различие между LXC и виртуальными машинами заключается в том, что с LXC работает только один экземпляр ядра Linux. ОС базового изображения используется для файловой системы, двоичных файлов и т.д.