我在Google Compute Engine上使用Docker(带有容器-vm图像)。当我尝试跑步时:
# docker exec mycontainer top
我明白了:
TERM environment variable not set.
但是,术语变量似乎正确设置:
# docker exec mycontainer echo $TERM
xterm-256color
答案 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