Вам нужно будет выполнить обратное проектирование зависимостей приложения от артефактов, к которым у вас есть доступ. Это означает восстановление зависимых от языка зависимостей (будь то python, java, php, node и т. Д.). И любые требуемые пакеты / зависимости уровня операционной системы.
По сути, вы перестраиваете содержимое этого ISO-образа внутри вашего файла Docker, используя инструменты установки пакетов ОС, такие как apt, инструменты уровня языка, такие как pip, PECL, PEAR, composer или maven, и, наконец, файлы, составляющие код приложения. .
Так, например: приложение PHP может зависеть от наличия в ОС build-essential и php-mysql. Тогда приложение может зависеть от таких пакетов, как веточка и монолог, загруженных через композитор. Если вы используете SASS, возможно, вам также потребуется установить ruby.
Ваша задача - отследить все это и создать файл Docker, который воспроизводит ISO-образ. Если вы используете общий стек, такой как J2EE-приложение в tomcat, или php-приложение, разработанное apache или ngnix, будут базовые образы докера, которые помогут вам пройти большую часть пути туда, куда вам нужно.
Похоже, есть некоторые инструменты, которые могут сделать это автоматически: Эквивалент Dependency Walker для Linux? . Я не могу поручиться за любого из них. Но вы также можете использовать инструменты командной строки. Например, это даст вам список всех установленных пользователем пакетов в системе Fedora:
sudo dnf history userinstalled
Когда приложение использует менеджер зависимостей, такой как composer или pip, обычно есть файл, в котором перечислены все языковые зависимости.
В конце процесса у вас будет портативное устаревшее приложение, которое можно легко развернуть в любом месте с минимальными затратами.
Как справедливо указывает один из комментариев, создание виртуальной машины из образа ISO - это еще один путь вперед, который будет гораздо проще осуществить. Зависимости приложения не будут явными, но, возможно, это нормально для вашего варианта использования.