#docker
#docker
Вопрос:
Я хотел знать, возможно ли запустить исполняемый файл, т.Е. файл .exe, внутри среды выполнения контейнера без создания файла dockerfile. Я знаю, что это можно сделать с помощью dockerfile, используя следующее
FROM ubuntu
MAINTAINER me@gmail.com
COPY name.exe /bin/
CMD ["/bin/name.exe", "input1", "output"]
но я не хочу создавать dockerfile и запускать .exe внутри контейнера. пожалуйста, помогите мне в этом.
Ответ №1:
Это невозможно, причина в том, что такое docker. Это приложение для контейнеризации.
Официальные документы хорошо описывают, чем контейнер отличается от автономного приложения
По сути, контейнер — это не что иное, как запущенный процесс, к которому применяются некоторые дополнительные функции инкапсуляции, чтобы сохранить его изолированным от хоста и от других контейнеров. Одним из наиболее важных аспектов изоляции контейнера является то, что каждый контейнер взаимодействует со своей собственной файловой системой; эта файловая система предоставляется образом Docker. Образ включает в себя все необходимое для запуска приложения — код или двоичный файл, время выполнения, зависимости и любые другие требуемые объекты файловой системы.
Таким образом, если docker позволяет запускать исполняемый файл или любой файл приложения (jar, war и т.д.) Без файла docker, это принципиально противоречит цели использования docker. Это очень похоже на запуск виртуальной машины или приложения непосредственно на вашем хост-компьютере.
Комментарии:
1. Я новичок в docker и пытаюсь это понять. В моем приложении мне нужно запускать исполняемый файл в контейнере каждый раз, когда он запрашивается. итак, хорошая ли идея сгенерировать dockerfile в системе, а затем передать его в docker?
2. Действительно, возможно создать контейнер docker и запустить его «на лету» с помощью сценария оболочки, выполнить задание и снова остановить экземпляр.
3. не могли бы вы поделиться каким-либо руководством или примером
4. Вы можете попробовать что-то вроде этого unix.stackexchange.com/questions/500695 /…