我使用命令:docker运行–rm -it go
vim bash -l来运行docker映像,但是
它不能显示bash提示颜色.如果我来源〜/ .bash_profile或再次运行bash -l,bash提示显示颜色正常.
它不能显示bash提示颜色.如果我来源〜/ .bash_profile或再次运行bash -l,bash提示显示颜色正常.
解决方法
由于
chepner评论(早期的答案),.bash_profile来源(itis是一个交互式shell),因为
bash_prompt
是
called by .bash_profile
.
但docker issue 9299说明,TERM似乎并没有立即设置,迫使用户打开另一个bash:
docker exec -ti test env TERM=xterm bash -l
issue 8755有类似的颜色问题.
到illustrate/reproduce the problem:
docker exec -ti $CONTAINER_NAME tty not a tty
docker exec -ti `your_container_id` script -q -c "/bin/bash" /dev/null
两者都假设你先运行一个运行容器,这可能不方便.
OP SolomonT报道docker run
与env
做的工作:
docker run --rm -it -e "TERM=xterm-256color" govim bash -l
而Fernando Correia加in the comments:
To get both color support and make tmux work,I combined both examples:
docker exec -it my-container env TERM=xterm script -q -c "/bin/bash" /dev/null