Указание контейнера Docker для содержания определенных программ командной строки

#node.js #docker #tesseract

#node.js #docker #тессеракт

Вопрос:

У меня есть Node.js приложение (или, по сути, это просто JavaScript-скрипт, запускаемый с помощью Node, а не в браузере). Скрипт состоит из обработки файла PNG с использованием механизма распознавания Tesseract. Tesseract вызывается с использованием библиотеки NPM для выполнения команд оболочки (Shelljs). Это было сделано потому, что я не хотел иметь дело с библиотекой C . Вместо этого я просто установил командный инструмент Tesseract локально на свой компьютер. Однако теперь мне интересно — есть ли какой-либо способ указать (возможно, в dockerfile?), что мой контейнер должен поставляться с предустановленным Tesseract? Или есть какой-либо способ установить его изнутри контейнера, используя apt-get или около того?

Комментарии:

1. Используйте команду Dockerfile RUN, чтобы добавить установочный скрипт вашего приложения, который будет установлен в вашем образе при его сборке docs.docker.com/engine/reference/builder/#run

2. Спасибо. Вы имеете в виду установку его с помощью apt-get @fatcook? Не совсем с вами, если вы не это имеете в виду.

3. Полностью зависит от того, какой у вас родительский контейнер, если это ubuntu, то да, используйте apt-get , в противном случае вам, вероятно, придется использовать другой менеджер пакетов, wget или curl it.

4. Верно, понял. Большое спасибо. @GeorgeAppleton