Зачем Docker exec нужен --интерактив? - должно быть достаточно? - PullRequest
0 голосов
/ 30 мая 2019

Я новичок в докере, когда играю с docker exec. У меня есть ниже вопрос:

Команда docker exec -t 26b318e534c0 bash, уже есть tty, это должно быть интерактивным? Почему нужно использовать docker exec **-it** 26b318e534c0 bash?

1 Ответ

0 голосов
/ 30 мая 2019

Вы можете создать псевдотерминал без какого-либо ввода в устройство tty.Это позволяет приложению, генерирующему вывод, делать это, используя контент, распознаваемый tty устройством (например, вывод цвета).Если вы хотите иметь возможность вводить этот tty в интерактивном режиме, вам нужно передать опцию ввода из терминала с поддержкой tty (не из сценария оболочки и не из некоторых командных окон Windows), чтобы присоединить вашу консоль кstdin этого контейнера.


В качестве простого примера с docker run эти две команды будут выглядеть по-разному:

docker run -t --rm debian ls -al --color=always

docker run --rm debian ls -al --color=always

Первая будет иметь цветной вывод, вторая не будет, и ни один из них не позволит вам ввести ввод для команды ls, запускаемой внутри контейнера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...