我在 Google Compute Engine 上使用 Docker(带有 container-vm 镜像)。当我尝试运行时:
# docker exec mycontainer top
我得到:
TERM environment variable not set.
但是,术语变量似乎设置正确:
# docker exec mycontainer echo $TERM
xterm-256color
最佳答案
您正在评估本地 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
关于docker - 未在 Google Compute Engine 上使用 Docker 设置 TERM 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31786609/