在Google Compute Engine上未使用Docker设置TERM环境变量

时间:2015-08-03 11:55:18

标签: docker google-compute-engine

我在Google Compute Engine上使用Docker(带有容器-vm图像)。当我尝试跑步时:

# docker exec mycontainer top

我明白了:

TERM environment variable not set.

但是,术语变量似乎正确设置:

# docker exec mycontainer echo $TERM
xterm-256color

1 个答案:

答案 0 :(得分:2)

您正在评估本地TERM变量,而不是容器中的变量。例如:

 X=bla && docker run debian echo $X
 bla

您可以使用单引号:

X=bla && docker run debian sh -c 'echo $X'

当然,env也会显示设置内容:

$ docker run debian env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=3737f39f89b3
HOME=/root

我相信只有在使用TERM标志启动容器时才会自动设置-t变量,但您可以手动设置它:

$ docker run -t debian env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=0bf3eef92d94
TERM=xterm
HOME=/root