代码之家  ›  专栏  ›  技术社区  ›  Nithin D J

通过node js脚本执行docker命令

  •  1
  • Nithin D J  · 技术社区  · 8 年前

    除了使用ShellJS(类似的包)执行这些命令之外,还有更好的方法从节点JS执行Docker命令吗?

    我看到包装码头被侵蚀了。虽然它对某些命令很好,但它对“docker exec”命令没有太多的了解。

    我只是需要更多的控制,同时执行从nodejs无法提供的docker exec。我想知道一旦docker exec命令被执行,它是否成功执行。

    3 回复  |  直到 8 年前
        1
  •  1
  •   Nithin D J    8 年前

    如果要从nodejs脚本运行命令,请使用shelljs或子进程运行该命令,并将输出重定向到日志或txt文件中。使用功能类似于 this saerch用于文件中的错误字符串。

    基本上,当您在cli中执行docker exec时会发生这种情况,即使发生的错误没有被shelljs捕获。所以退出代码将是0。所以这会导致正常shell命令和docker exec命令捕捉错误的不同。

    我们可以使用DockCorrupt NPM包。我们可以用这个 example 并根据我们的用例编写它。我刚刚更改了代码,监听返回的流上的事件'data'和'end'。

        2
  •  0
  •   S.Polat    8 年前

    你可以用 child_process 对于exec bash命令,获取结果以查看是否成功。

        3
  •  0
  •   Rubin bhandari    8 年前

    可以使用子进程从节点js运行docker命令。 例如

    var sys = require('sys')
    var exec = require('child_process').exec;
    
    function puts(error, stdout, stderr) { sys.puts(stdout) }
    exec("ls -la", function(err, stdout, stderr) {
      console.log(stdout);
    });
    
    推荐文章