我一直在尝试从我的 Node.js 应用程序中调用 docker,为此我使用了 node-docker-api,如 npm 模块文档https://github.com/AgustinCB/docker-api中所述。为了测试我是否能够从 Node.js 与 docker 交互,我正在运行文档中作为示例给出的一个小型示例应用程序。但我收到错误为{ Error: connect ENOENT /var/run/docker.sock。完整的错误信息如下所示
dockerOperations.js:
'use strict';
const {Docker} = require('node-docker-api');
var Q = require('q');
var service = {}
service.runDockerCommand = runDockerCommand;
function runDockerCommand() {
console.log('inside runDockerCommand');
var deferred = Q.defer();
const docker = new Docker({ socketPath: '/var/run/docker.sock' });
console.log(docker);
docker.container.create({
Image: 'ubuntu',
name: 'test'
})
.then(container => container.start())
.then(container => container.stop())
.then(container => container.restart())
.then(container => container.delete({ force: true }))
.catch(error => console.log(error));
return deferred.promise;
}
错误
{ Error: connect ENOENT /var/run/docker.sock
at PipeConnectWrap.afterConnect [as oncomplete] (net.js:1170:14)
errno:'ENOENT',代码:'ENOENT',系统调用:'connect',地址:'/var/run/docker.sock'}