愚蠢的terminal在非互动docker

我有一个在非交互式泊坞窗容器中运行的CI脚本。 我使用的一个应用程序(批处理模式下的emacs)需要一个TTY,即使它永远不会读取它。

在交互模式下,我可以将/dev/tty传递给应用程序,但是在非交互模式下,设备甚至不存在!

如何在非交互式docker集装箱中创build假docker?

顺便说一句,我没有控制启动脚本的CI亚军(无人机)…所以我不能添加-i-t

运行ls -R /dev给出

 /dev: fd full fuse kcore mqueue null ptmx pts random shm stderr stdin stdout tty urandom zero /dev/mqueue: /dev/pts: ptmx /dev/shm: 

尝试在script (字面上)调用中包装script调用。 向另一个用户请求时遇到类似的问题,然后访问屏幕会话。

 $ script /dev/null $ emacs ... $ exit 

另见https://serverfault.com/a/116830