Nodejs 执行 Docker run 的 stdout 问题

2017-05-06 23:52:42 +08:00
 liujin834

请教各位大神 nodejs 调用 docker run 命令的问题

由于执行时间比较长,我想把执行中的输出抓出来

代码是这样的

var p = spawn('docker', [
        'run',
        '-i',
        '-a', 'stdout',
        '-a', 'stderr',
        '--rm',
        '-v', imagesPath + ':/code/images',
        'westdc_dem'
    ]);

p.stdout.on('data', function (data){
    console.log(data.toString());
});

它现在不能按我的预期一行一行打印,而是整个执行完才打印,怎么才能让它一行一行输出呢?

2602 次点击
所在节点    Node.js
4 条回复
pasturn
2017-05-07 00:12:43 +08:00
var p = spawn('docker', [
'run',
'-i',
'-a', 'stdout',
'-a', 'stderr',
'--rm',
'-v', imagesPath + ':/code/images',
'westdc_dem'
],{ stdio: 'inherit'});
cloverstd
2017-05-07 00:31:37 +08:00
为啥不用 docker api
liujin834
2017-05-07 21:42:21 +08:00
@cloverstd 最终用 docker api 解决了,谢谢
liujin834
2017-05-07 21:42:36 +08:00
@pasturn 谢谢!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/359627

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX