Я читал о Docker, boot2docker и провайдере Vagrant's Docker, и, думаю, я достаточно четко понимаю, как все это работает. Тем не менее, есть еще одна вещь, которую я еще не совсем понял.
Виртуальные машины хоста Docker (например, TCL в boot2docker) предоставляют виртуальную среду "прокси", что позволяет нам использовать Docker на хостах, отличных от Linux. Теперь, скажем, если я хочу воспроизвести определенную производственную среду, действительно ли имеет значение, какую виртуальную машину Docker Host я использую? Почему существует требование выбора другой виртуальной машины?
Причиной здесь является то, что я могу просто извлечь службы, такие как httpd и mysql, FROM
нужных блоков, т.е. если я использую boot2docker и моя производственная среда работает под управлением Ubuntu 14.04, я могу просто "расширить" образ Ubuntu в моем Dockerfile
и покончить с этим.
Прав ли я, полагая, что переключение виртуальной машины Docker Host было бы желательным только при воспроизведении производственной среды, в которой также используются технологии Docker? Мой конкретный пример использования предполагает использование Docker (и Vagrant тоже) только в целях изоляции в моей собственной среде разработки. Это может быть причиной того, что я в значительной степени упустил смысл виртуальной машины.
Как я понимаю, использование Vagrant с Docker - это просто еще один уровень абстракции для создания устойчивой и переносимой среды разработки. Однако, учитывая, что можно заставить Vagrant использовать конкретную хост-виртуальную машину даже на хостах Linux, я предполагаю, что использование нестандартной хост-машины имеет определенное значение, но я еще не знаю об этом.