Dockerode使用节点,但不通过Webpack
我正在尝试编写一个可以启动Docker容器的Web应用程序。 因此,我正在使用dockerode模块。 短模块看起来像这样:
//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安装将构build一个新的图像,然后创build一个新的容器。 最后,这个容器将被启动。
但是,现在我试图通过使用Webpack将此模块添加到Web应用程序。
但现在的问题是:当使用webpack.config.js属性
target: 'web'
Webpack成功地build立了这个文件,但是当打开网站时我收到这个问题:
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) {
任何build议,为什么我可以build立docker图像通过使用节点,而不是在浏览器内部调用时? 是否有可能通过浏览器启动Docker容器? 提前致谢。
是否有可能通过浏览器启动Docker容器?
不。 浏览器无法与包括Docker套接字在内的任何系统套接字通信。