用cli命令进入docker容器后,发现在终端输入长一些的字符串会被截断,有种蛋蛋的忧伤。。。。
原因是容器不知道它所处的终端的大小,所以默认初始终端的尺寸是0 0,迷之尴尬。。。大家可以执行以下命令确认:
1 2 3 4 5 6 7 8 |
memcache@f8c1cba94511:/$ stty size 0 0 memcache@f8c1cba94511:/$ reset -w memcache@f8c1cba94511:/$ stty size 24 80 memcache@f8c1cba94511:/$ |
最后解决方式,在进入容器后执行一条命即可:
1 2 3 |
reset -w |
最后完美解决:
可用的做法:
1. 在/etc/bashrc 加入 reset -w
2. 在Dockerfile挂一个启动脚本 ENTRYPOINT [“/start.sh”] , 里面附带 reset -w
3. 进入容器的时候设置:
1 2 3 |
docker exec -e COLUMNS="`tput cols`" -e LINES="`tput lines`" -ti container bash |