Рейтинг:0

Как контейнеризовать нативное приложение Linux, чтобы несколько его версий работали одновременно, в основном из одной и той же кодовой базы?

флаг cn

У меня есть серверное приложение Linux, которое больше не поддерживается поставщиком.

Мне нужно запустить 2-3 версии этого приложения одновременно параллельно.

Я могу настроить для него разные виртуальные машины, и он отлично работает, но потребляет больше ресурсов, чем нужно.

Другим подходом было бы запустить его в контейнерах, но опять же, в этом случае мне пришлось бы иметь 2-3 копии одного и того же приложения, которое занимает много места на диске, а разные версии этого приложения на 99% одинаковый по файлам и отличается лишь несколькими бинарными файлами, которые идут с ним, так что потребуется много дорогих SSD носителей.

Есть ли способ поместить его в контейнер, чтобы он использовал одну и ту же кодовую базу, но только несколько файлов, которые отличают версии друг от друга, стали виртуально доступными для каждого процесса версии (исполняемый файл elf), в то время как остальные файлы, которые не меняются между версиями и которые составляют большую часть приложения, взяты из одного и того же источника?

Или есть способ как-то дедуплицировать разные версии до детализации на уровне файлов, чтобы это не занимало столько места, сколько полные копии?

Я согласен только с подсказками в качестве ответов, за которыми я планирую следить и писать полное решение, если оно в конечном итоге сработает.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.