Может ли виртуальная машина / контейнер работать без библиотек хост-системы? - PullRequest
6 голосов
/ 22 февраля 2020

Некоторое программное обеспечение, которое мы разработали, мы «инкапсулировали» в виртуальную машину, которую мы запускаем с Virtualbox, в командной строке неинтерактивным способом (без графического интерфейса). Мы отправляем некоторые инструкции на виртуальную машину, и она выводит некоторые результирующие файлы. Мы проверили это локально на Linux машине. Теперь мы хотели бы отправить это многим, используя Linux, но мы понимаем, что у них будут разные дистрибутивы, версии системных библиотек и т. Д. c, и тогда наша ВМ может выйти из строя. Поэтому мой вопрос заключается в том, что возможно иметь что-то вроде stati c бинарной версии Virtualbox (или любой другой подобной системы / VM / Container), которая не нуждается в использовании системных библиотек, чтобы она могла работать как статус c бинарный?

Ответы [ 2 ]

2 голосов
/ 03 марта 2020

Было бы важно знать, каковы «особые» требования вашего решения в отношении системных библиотек и тому подобного.

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

Поскольку виртуальная машина работает со своим собственным ядром, по большей части она не зависит от библиотек хоста. Исключением является доступ к ресурсам хоста / управление ими (диск, net и т. Д. c.). При этом VirtualBox предоставляет способы доступа к наиболее распространенным ресурсам (диск, net и т. Д. c.), Прозрачным для ВМ. Это означает, что виртуальная машина будет настроена всегда одинаково, независимо от того, является ли хост Win, Linux или Ma c, и вы можете экспортировать свою виртуальную машину на Linux и импортировать ее на другие платформы без необходимости подстройки it.

Контейнер (например, докеры) является более сложным, так как он разделяет ядро ​​хоста, и это зависит от того, как настроено ядро ​​хоста.

Опять же, если ваше приложение не зависит от «специального» доступа к ресурсам хоста, Docker будет работать одинаково на всех хост-ОС (Linux предоставляет собственное ядро, в то время как Win и Ma c запускают виртуальную машину linux и затем докеры внутри него)

Если вы считаете, что это не отвечает на ваш вопрос, пожалуйста, поделитесь более подробной информацией об «особых» потребностях / конфигурациях вашего приложения, чтобы мы могли углубиться в это.

0 голосов
/ 04 марта 2020

Вы рассматривали возможность предоставления переносимых экземпляров виртуальной машины, которые могут работать на разных хост-системах?

В этом примере показано, как создать его для windows хоста, посмотрите здесь , но я уверен, что это можно сделать и для разных хост-систем.

...