更新:添加了缺少的 docker 附件。

嗨,我正在尝试使用-dti运行docker容器。但是我无法将终端设置为哑巴来访问。有没有办法改变这一点(即使我的ssh客户端很笨,它当前也设置为xterm)

例:

创建容器

docker run -dti --name test -v /my-folder alpine /bin/ash
docker attach test
apk --update add nodejs
cd /my-folder
npm install -g gulp

最后一个命令始终包含ascii转义字符以移动光标。

我已经在运行的容器中尝试过“export TERM = dumb”,但是它不起作用。

有没有办法使用哑终端“运行”此程序?

我正在通过(哑)ssh从另一台计算机上的脚本运行此脚本。

最佳答案

使用-t设置此https://docs.docker.com/engine/reference/run/#env-environment-variables,但是删除会影响命令提示符(该提示符未显示)

可能的解决方案1 ​​删除-t并保留-i。若要查看命令是否已完成,请回显已知 token (ENDENDEND)。即

docker run -di --name test -v /my-folder alpine /bin/ash
docker attach test
apk --update add nodejs;echo ENDENDEND
cd /my-folder;echo ENDENDEND
npm install -g gulp;echo ENDENDEND

不漂亮,但是可以工作(结果中没有ascii)

可能的解决方案2 使用日志, docker 可以注销到Linux日志,可以在容器中执行命令时收集该日志。 (我还没有完全测试这一点。但是日志似乎是发生了什么的更好的输出)

09-27 01:13
查看更多