我正在执行以下代码,以便在Ubuntu 14.04机器上使用npm dockerode获取所有容器的列表。 Docker容器正常运行。
var Docker = require('dockerode');
var docker = new Docker({socketPath: '/var/run/docker.sock'});
docker.listContainers({all: true}, function(err, containers) {
console.log('err ' + err);
console.log('ALL: ' + containers);
});
但是得到
错误连接EACCES /var/run/docker.sock
提前致谢。
发生这种情况是因为您没有足够的权限来访问Docker。有两种解决方案:
docker
组:sudo usermod -aG docker $USER
。注销并在运行此命令后重新登录,然后再次尝试运行代码。 (推荐的)