解决:在dockerized节点应用程序中产生一个复杂的进程(sipp)

我正在运行一个dockerized节点的应用程序。 它有多个subprocess,工作正常,一个进程意外返回“1”! 这里是从我的server.js线:

var child = child_process.spawnSync("./sipp", ["-sf","./call_helloworld.xml", "127.0.0.1:5070","-p","1236","-m","1","-trace_screen"], {cwd:"/root/UT"}); logger.info(child.status); 

当我进入容器,并从当前工作目录下面的bash运行完全相同的行,它工作正常(返回0)

 node >require('child_process').spawnSync("./sipp", ["-sf","./call_helloworld.xml", "127.0.0.1:5070","-p","1236","-m","1","-trace_screen"], {cwd:"/root/UT"}); 

我很确定sipp调用甚至不是以第一个命令开始的。

docker文件的最后一行是

 WORKDIR /root/config #this is the location of my server app ENTRYPOINT ["node", "server.js"] 

我知道这个问题是有点特定的,但任何在debuggingspawnSync的一般帮助表示赞赏。

======================================

更新:进一步debugging后,我发现spawnSync返回“错误打开terminal:未知”。 解决方法是添加环境variables“export TERM = xterm”。 https://nology.de/docker-error-opening-terminal-unknown.html