我在 Docker 容器内运行 ubuntu 14.04。我的镜像是从官方 ubuntu:14.04 镜像构建的) Docker 文件与此几乎相同https://github.com/pfy/erpnext/blob/master/Dockerfile(刚刚从 debian:wheezy >>> 从 ubuntu:14.04 更改)。
ERPNext正在使用此脚本进行安装https://raw.githubusercontent.com/frappe/bench/master/install_scripts/setup_frappe.sh)。
构建和运行说明可在此处找到https://raw.githubusercontent.com/pfy/erpnext/master/README.md
不知何故它可以工作但是终端/控制台似乎没有完全发挥作用。
即"TERM environment variable not set"
当我尝试clear
屏幕时,我得到了一个。我发现其他一些帖子有相同或相似的错误消息,但上下文总是不同,所以我无法从提供的解决方案中获得任何东西。
我猜想 docker ubuntu 镜像可能会使用得相当频繁,所以也许有人遇到并解决了这个问题。
答案1
无需在启动容器后编辑配置,只需在运行基于 Debian 的容器时定义缺少的环境变量即可
-e TERM=xterm
正如本例所示
export DUMMY_SERVER_NAME=itswednesday
docker run \
-d \
--name $DUMMY_SERVER_NAME \
-e TERM=xterm \
--expose=80 \
debian /bin/bash -c "while [[ true ]]; do sleep 1; done"
答案2
感谢来自Gunnar Hjalmarsson
这似乎可以解决问题
docker start [container]
docker exec -it [container] bash
vim /etc/bash.bashrc
添加export TERM=xterm
到文件顶部,停止/重新启动我的容器...
瞧!...终端似乎表现“正常”(我使用clear
以前不起作用但现在起作用的命令进行了测试)
再次感谢并且抱歉在我的最初帖子中引入了误导性术语(终端/控制台)。
答案3
Docker 1.13 中将修复此问题此请求请求最近合并的。在运行该版本之前,您可以运行exec
如下命令来避免此问题:
docker exec --tty [container] env TERM=xterm [command-to-run]