Mam program narzędziowy, który zależy od charakterystyki terminala. Chcę wykonać go wewnątrz kontenera dokera. (program nie jest programem interaktywnym jako takim, jest to stary program napisany w ten sposób).Docker: wykonaj program wymagający tty
lub docker exec -i -t
powinien otworzyć tty do pojemnika. Ale o to, co się dzieje ..
[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
Gdy opcja -t do polecenia (uruchom/exec) dokowanym powinno dać „tty”, tty polecenia powraca z „nie tty”. To jest zagadkowe.
Doświadczyłem tego na hostach i obrazach openSuse i fedora23, jeśli to ma znaczenie. Użyłem do tego emulatora terminala "guake", MATE (Gnome?), Z tymi samymi wynikami.
Czy istnieje rozwiązanie tego problemu? lub jest to zgodne z projektem i musi zastąpić/przepisać moje narzędzie?
można zakładać 'echo $ TERM' gdy wewnątrz kontenera? – user2915097
@ user2915097: Twoje pytanie skłoniło mnie do przeprowadzenia niektórych eksperymentów. Odpowiedziałem na własne pytanie. Dzięki. – yogmk