Я читал разные вещи о контейнерах и виртуальных машинах. Я не об этом прошу (не думаю). Если я использую контейнеры, могу ли я использовать их на виртуальной машине?
Мой сервер 2012r2 на голом железе, а не на сервере Hyper-v, без виртуализации на голом железе, установлена Windows Standard 2012r2.
Если я хочу использовать Docker, могу ли я создать виртуальную машину в Hyper-V и использовать Docker в этой виртуальной машине?
Могу ли я использовать Docker на ОС без ОС?
Это похожий вопрос, Почему мы используем базовый образ ОС с Docker, если в контейнерах нет гостевой ОС?
Это зависит от вашего приложения, которое вы запускаете, и от того, воспользуетесь ли вы функциями, представленными при виртуализации базового атомарного хоста.
Живая миграция в Docker намного сложнее, чем живая миграция всего атомарного хоста, который сам является виртуальной машиной (например, с помощью живой миграции KVM или vMotion). Виртуальные машины проще развернуть, чем физические, и им легче делегировать сетевые подключения. Кроме того, при использовании виртуальных машин намного проще разграничить ответственность внутри организации. Например, команда инфраструктуры может прекратить выполнение своих обязанностей на уровне гипервизора, а группа эксплуатации берет на себя эту ответственность на уровне гостя. То же самое относится к инструментам развертывания и управлению конфигурацией.
Однако, если требования вашего приложения к производительности перевешивают эти преимущества (или если эти преимущества не имеют никакого отношения к вашему приложению) и развертывание без операционной системы помогает вам в этом, то непременно используйте его на «голом железе». Скорее всего, все, что вы делаете, должно постоянно воспроизводиться, поэтому будьте осторожны с потенциальными конфигурациями «особых снежинок».