У меня есть служебная программа, которая зависит от характеристик терминала. Я хочу выполнить его внутри контейнера докера. (программа не является интерактивной программой как таковой. Это старая программа, которая была написана именно так).Docker: выполнить программу, которая требует tty
docker run -i -t
или docker exec -i -t
следует открыть контейнер tty. Но вот что происходит ..
[email protected]:~/region/primer/cobol_v> kickstop
[Error] Unable to run without terminal device (tty)
[email protected]:~/region/primer/cobol_v> tty
not a tty
Когда опция -t для докер команды (запуск/EXEC) должен дать «телетайп», то терминал команды возвращается с «а не телетайп». Это озадачивает.
Я испытал это на хостах и изображениях openSuse и fedora23, если это имеет значение. Для этого я использовал эмуляторы терминала «guake», MATE (Gnome?) С такими же результатами.
Есть ли какие-либо решения? или это по дизайну и нужно заменить/переписать мою утилиту?
Вы можете разместить 'Эхо $ TERM', когда внутри контейнера? – user2915097
@ user2915097: ваш вопрос заставил меня провести несколько экспериментов. Я ответил на свой вопрос. Благодарю. – yogmk