Это очень широкий вопрос с большим количеством потенциальных деталей, но фактически контейнеры не разделяют ОС, а скорее разделяют ядро внутри ОС.
Цитируя собственную формулировку Докера на эту тему:
Каждый контейнер разделяет ядро внутри хост-ОС, что позволяет запускать несколько контейнеров Docker на одном хосте. В отличие от виртуальных машин, контейнеры не имеют ОС внутри него.
Источник цитаты
Если ответить на ваш вопрос в широком смысле, да, можно переместить 'ВМ 'запускает пользовательскую ОС Linux в контейнер, но вы на самом деле не перемещаете' ВМ ', а просто перемещаете интересующее приложение в контейнер (если это то, что вы хотите сделать).
ВыВам нужно будет выбрать или настроить сборочный образ докера, основанный на той же архитектуре и дистрибутиве Linux, которые в настоящее время использует ваша виртуальная ОС, чтобы упростить себе задачу. Как правило, это процесс разработки Dockerfile, а затем построения образа из этого.
Вы будете собирать / запекать файлы своего приложения в этом образе и предоставлять значения конфигурации для приложения для использования внутри контейнера Docker, которыйзапускается из образа, скорее всего, как пользовательская конфигурация, переданная с переменными среды.