在docker容器中运行nano
我打开一个交互式shell到像这样的docker容器
sudo docker exec -t -i {container_name} bash
到目前为止这么好,但试图运行nano
结果:
打开terminal时出错:未知。
我认为这可能与Docker Issue#9299有关 。
在这个问题上有一些解决方法:
- 运行分配伪TTY的容器(选项
-t
)。 - 导出环境variables$ TERM = xterm在容器的进程中运行exec(即:
export TERM=xterm
)
运行命令: export TERM=xterm
你可以加
ENV TERM xterm
到你的Dockerfile,如果你经常使用编辑器的话。 我们在基本容器中设置了这个设置,因为我们经常用vi / emacs来debugging。
因为$TERM
已经被设置为xterm
但仍然没有为我工作,这是一种工作方式: docker exec -it [CONTAINER_ID] /bin/bash -c "export TERM=xterm; exec bash"
docker exec -it id_container bash apt-get update apt-get install nano export TERM=xterm
我做了一个解决方法,在我的.bashrc我补充说:
alias nano='export TERM=xterm && nano'
在这种情况下,错误不再出现