术语环境变量未在Google Compute Engine上与Docker一起设置
我正在谷歌计算引擎上使用Docker(带有容器vm映像)。当我尝试跑步时:术语环境变量未在Google Compute Engine上与Docker一起设置,docker,google-compute-engine,Docker,Google Compute Engine,我正在谷歌计算引擎上使用Docker(带有容器vm映像)。当我尝试跑步时: # docker exec mycontainer top 我得到: TERM environment variable not set. 但是,术语变量似乎设置正确: # docker exec mycontainer echo $TERM xterm-256color 您正在计算本地项变量,而不是容器中的变量。例如: X=bla && docker run debian echo $X bl
# docker exec mycontainer top
我得到:
TERM environment variable not set.
但是,术语变量似乎设置正确:
# docker exec mycontainer echo $TERM
xterm-256color
您正在计算本地
项变量,而不是容器中的变量。例如:
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
我相信只有当容器使用-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
你是对的。使用-t运行时,将设置$TERM env变量。