Node.js child_process.exec“ / bin / sh:1:泊坞窗:找不到”错误

时间:2019-04-21 14:51:57

标签: node.js docker microservices moleculer

我使用“ Moleculer”框架创建了一个微服务。我使用child_process.exec在外壳中运行docker命令。我收到“ / bin / sh:1:docker:not found ”错误。

const { exec } = require("child_process");
.
.
.
exec("docker --version", (error, stdout, stderr) => {
   if (error) {
      console.error(`exec error: ${error}`);
      return;
   }
   console.log(`stdout: ${stdout}`);
   console.log(`stderr: ${stderr}`);
   });

试图给出绝对路径为:

exec("/usr/bin/docker --version", (err...);

但仍然出现相同的错误。

我可以使用以下方式获取节点版本:

exec("node --version", (err...);

1 个答案:

答案 0 :(得分:0)

我只是遇到了同样的问题。原因很简单,我建立了一个新映像,但是容器中没有Docker客户端,因为我只执行docker-compose restart <CONTAINER_NAME>,而不执行docker-compose stop <CONTAINER_NAME>docker-compose rm <CONTAINER_NAME>docker-compose up -d <CONTAINER_NAME>

https://stackoverflow.com/a/63281470/1707015