我正在尝试编写一个可以启动Docker容器的web应用程序。因此,我使用的是码头模块。简短的模块如下所示:
//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效果很好。我的本地码头安装将构建一个新的映像,然后创建一个新的容器。最后,将启动这个容器。
但是,现在我试图通过使用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容器吗?提前谢谢。
发布于 2017-06-22 19:32:25
甚至可以通过浏览器启动Docker容器吗?
不。浏览器无法与任何系统套接字(包括Docker套接字)通信。
https://stackoverflow.com/questions/44707841
复制相似问题