[英]Command line stdout to array in nodejs
我正在尝试编写一个node.js应用程序以与docker命令行工具接口。 我当前的代码如下:
#!/usr/bin/env node
var child_process = require('child_process');
child_process.exec('docker ps -a', function(error, stdout, stderr){
console.log(stdout);
});
我得到如下示例输出:safwan @ ubuntu:〜/ node $ ./cmd-docker.js
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e855320e9547 wadmiraal/drupal "/bin/sh -c 'exec sup" 2 weeks ago Exited (137) 12 days ago 3306/tcp, 0.0.0.0:8022->22/tcp, 0.0.0.0:8080->80/tcp stupefied_mahavira
bd2634e81b18 wadmiraal/drupal "/bin/sh -c 'exec sup" 2 weeks ago Exited (0) 2 weeks ago thirsty_hoover
f131bf78ed86 hello-world "/hello" 2 weeks ago Exited (0) 2 weeks ago
现在,对于我来说,要使用这些输出,我需要能够获取各个容器的ID等。为此,将输出转换为某种数组很重要。 但是我不知道这是可以做到的。 任何方向将不胜感激。
您可以使用诸如grep和awk之类的unix工具来娱乐自己,例如
docker ps | grep“ wadmiraal / drupal” | awk'{print $ 1}' ,您将获得ID
使用CLI可以,但是如果编写包装程序,事情可能会非常不舒服,因为您将不得不分割字符串,正则表达式解析字符串,将字符串加入数组中,等等。
但!
感谢上帝,码头工人团队的家伙已经有了解决方案。 它称为Docker Remote API ,我认为它将满足您的需求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.