Запуск nano в контейнере докера
Я открываю интерактивную оболочку в контейнер докеров таким образом
sudo docker exec -t -i {container_name} bash
Пока что так хорошо, но попытка запустить nano
приводит к:
Ошибка открытия терминала: неизвестно.
Ответы
Ответ 1
Я думаю, что это может быть связано с Docker Issue # 9299.
В этой проблеме есть некоторые обходные пути:
- Запустите контейнер, назначающий псевдо-TTY (опция
-t
).
- Экспортировать переменную среды экспорта $TERM = xterm в процессе обработки контейнера в exec (т.е.:
export TERM=xterm
)
Ответ 2
Команда запуска: export TERM=xterm
Ответ 3
Вы можете добавить
ENV TERM xterm
в файл Docker, если вы будете регулярно пользоваться редактором. У нас есть эта настройка в нашем базовом контейнере, поскольку мы постоянно отлаживаем вещи с помощью vi/emacs.
Ответ 4
как $TERM
уже был установлен на xterm
, но все еще не работает для меня, вот как это работает: docker exec -it [CONTAINER_ID] /bin/bash -c "export TERM=xterm; exec bash"
Ответ 5
docker exec -it id_container bash
apt-get update
apt-get install nano
export TERM=xterm
Ответ 6
Я сделал обходной путь, в моем .bashrc я добавил:
alias nano='export TERM=xterm && nano'
В этом случае ошибка больше не отображается