如何将DockerEvents添加到我的Javascript
我正在使用Dockerode,现在我想实现一个侦听器,因此我创建了一个侦听器,但当我想使用它时,我遇到了以下错误:如何将DockerEvents添加到我的Javascript,javascript,node.js,Javascript,Node.js,我正在使用Dockerode,现在我想实现一个侦听器,因此我创建了一个侦听器,但当我想使用它时,我遇到了以下错误: ReferenceError: DockerEvents is not defined 我的代码如下所示: if (Meteor.isServer) { //publish the collection Meteor.publish('infosContainers', function readInfosContainers() { return InfosCo
ReferenceError: DockerEvents is not defined
我的代码如下所示:
if (Meteor.isServer) {
//publish the collection
Meteor.publish('infosContainers', function readInfosContainers() {
return InfosContainers.find({});
});
}
Meteor.startup(() => {
console.log("startup server");
//at the start I create the docker object
docker = new Docker({socketPath: '/var/run/docker.sock'});
//create the docker events
emitter = new DockerEvents({
docker: new Dockerode(docker),
});
//maybe I need to create it like this
emitter = new DockerEvents(docker);
//start the emitter
emitter.start();
});
/**
* this method listen if a container Start
**/
emitter.on("start", function(message) {
console.log("container started: %j", message);
});
有人知道我做错了什么吗?感谢您的帮助此错误表示您试图访问一个不存在的变量,即您没有var dockervents=。。。;任何地方 我想你是这样的:
var Docker = require('dockerode');
如果要使用docker事件,则必须执行相同的操作:
var DockerEvents = require('docker-events');
require'modulename'是在Node.js中加载模块的方式
如何使用docker事件已在其文档中描述:
var emitter = new DockerEvents({
docker: docker, // since you defined docker earlier
});
似乎您没有加载模块或将其分配给DockerEvents以外的变量。你知道如何在Node.js中加载模块吗?不知道,但它带有“x RequiredMething”,但是如果我阅读docker事件github页面,我可以看到docker事件在docker中,我可以使用docker,因为我可以列出我的容器,停止它们,启动它们……为了创建docker,我做了var docker;docker=newDocker{socketPath:'/var/run/docker.sock'};我得到这个错误:错误:找不到npm模块“docker事件”。您是否忘记在“模块运行时”包中的package.js中调用“Npm.depends”?似乎您还没有安装docker事件。你需要安装它,如果你想使用它,就像任何其他npm模块。