Docker exec bash интерактивно небольшое окно терминала

Docker exec bash интерактивно небольшое окно терминала

Предположим, у меня есть контейнер, который работает bashв интерактивном режиме одним из следующих способов:

  • docker run -it <image> /bin/bash.
  • docker start <stopped_container>а потом docker attach <container>.

Когда мне нужен еще один интерактивный сеанс, я выполняю следующую команду: docker exec -it <container> /bin/bash. Все вроде бы хорошо, но окно терминала маленькое:

введите описание изображения здесь

Как расширить новый интерактивный bashсеанс терминала до желаемого размера?

решение1

Это можно сделать с помощьюsttyпрограмма, которая изменяет и печатает настройки терминальной линии.

Предположим, я хочу получить одинаковые размеры терминала для bashсеанса, с которого я начал, docker run -it ...или docker attach ...и bashсеанса, с которого я начал bash exec -it.

Сначала я должен получить текущий размер терминала для первого терминала:

bash-4.2# stty size
68 317

I должен установить равные значения для второго терминала:

bash-4.2# stty size # check current terminal size before (it's not required)
0 0
bash-4.2# stty rows 68
bash-4.2# stty cols 317

Теперь размер терминала одинаков для обоих терминалов: введите описание изображения здесь

Связанный контент