2017-06-22 79 views
0

我正在尝试编写一个可以启动Docker容器的Web应用程序。 因此,我正在使用dockerode模块。 短模块如下所示:Dockerode使用节点,但不通过Webpack

//index.js 

var Docker = require('dockerode'); 
var docker = new Docker({socketPath: '/var/run/docker.sock'}); 
docker.buildImage({ 
    /* 
    Building image over here... 
    */ 
}); 

运行此JavaScript和节点的文件是这样的:

node index.js 

作品就好了。我的本地Docker安装将构建一个新的映像,然后创建一个新的容器。最后,这个容器将被启动。

但是,现在我试图通过使用Webpack将此模块添加到Web应用程序。

但是现在的问题是:当使用webpack.config.js财产

target: 'web' 

的WebPack成功生成该文件,但在打开网站时,我收到此问题:

Uncaught TypeError: stat is not a function 
    at loop (gen.js:27528) 
    at onnextentry (gen.js:27640) 
    at Object.exports.pack (gen.js:27643) 
    at Docker.buildImage (gen.js:22180) 
    at buildImage (gen.js:21892) 
    at Object.<anonymous> (gen.js:21888) 
    at Object.<anonymous> (gen.js:21926) 
    at __webpack_require__ (gen.js:20) 
    at Object.exports.initBackend (gen.js:21874) 
    at initBackends (gen.js:11552) 

我无法找到任何有关此问题的信息。在生成的JS文件所强调的线条是这个:

stat(nextAbs, function (err, stat) { 

为什么我可以通过使用节点构建泊坞窗图像的任何建议,但不是当被调用浏览器的内部?是否有可能通过浏览器启动Docker容器? 在此先感谢。

回答

2

它甚至有可能通过浏览器来启动Docker容器?

没有。浏览器无法与包括Docker套接字的任何系统套接字进行通信。

+0

感谢您的回复! – user2410644