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

标签 docker google-compute-engine

我在 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/

相关文章:

docker - 通过守护进程启动在 Ubuntu 14.04 上启用 Docker 远程 API

docker - 如何将大文件复制到Docker镜像中而不保存在历史记录中

python - 如何将软件包安装到 docker 的 python?

google-compute-engine - 无法从本地机器连接到谷歌计算引擎上的 kafka 服务器

node.js - 在 Google Compute Engine (GCE) 中允许 WebSockets

google-cloud-platform - 如何输入谷歌云凭据一次并且不再被询问?

docker - Kubernetes Pod是否支持NoRestart策略?

nginx - Docker自动更新Nginx Web服务器容器的主机文件

google-bigquery - GCE 上没有名为 'google.cloud._helpers' 的模块

linux - 谷歌计算引擎 DEBIAN :/etc/group setting lost after Reboot