命令的 node.js child"/>
lxc/lxd 启动/删除命令的 node.js child
我正在使用 node.js 在服务器上执行 lxc/lxd 命令。许多用于获取有关容器的信息的命令都按预期工作。例如:
app.get('/checkVirtual', (req, res) => {
exec('lxc list -c "n" --format="csv"', (error, stdout, stderr) => {
if (error) {
//console.log(`error: ${error.message}`);
return;
}
if (stderr) {
//console.log(`stderr: ${stderr}`);
return;
}
//console.log(`stdout: ${stdout}`);
res.send(stdout)
});
})
执行 lxc/lxd 启动/删除命令时出现问题。 在 bash 中执行命令的示例:
在 node.js 中执行命令的代码:
app.get('/createMachine', (req, res) => {
exec('lxc launch ubuntu: virtual4', (error, stdout, stderr) => {
if (error) {
console.log(`error: ${error.message}`);
return;
}
if (stderr) {
console.log(`stderr: ${stderr}`);
return;
}
console.log(`stdout: ${stdout}`);
res.send(stdout)
});
})
执行请求时,首先会等待很长时间(通常比执行命令的时间还长),之后就会有响应:
一个有趣的细节:如果你尝试用一个已经被占用的名字创建一个新的容器,结果不会改变:Waiting -> 504。虽然应该有错误输出。
回答如下:更多推荐
lxc/lxd 启动/删除命令的 node.js child
发布评论