在使用promises时,可以通过以下步骤从dockerode捕获stdout:
const Docker = require('dockerode');
const docker = new Docker();
const container = docker.getContainer('容器ID');
const execOptions = {
Cmd: ['命令'],
AttachStdout: true,
};
const exec = await container.exec(execOptions);
const stream = await exec.start();
const stdoutPromise = new Promise((resolve, reject) => {
let stdoutData = '';
stream.on('data', (chunk) => {
stdoutData += chunk.toString();
});
stream.on('end', () => {
resolve(stdoutData);
});
stream.on('error', (err) => {
reject(err);
});
});
const stdout = await stdoutPromise;
console.log(stdout);
通过以上步骤,你可以使用promises从dockerode捕获stdout。请注意,上述代码仅为示例,实际使用时需要根据具体情况进行适当的修改。
推荐的腾讯云相关产品:腾讯云容器服务(Tencent Kubernetes Engine,TKE)
领取专属 10元无门槛券
手把手带您无忧上云