我正在尝试使用Docker Remote API来发布/build。
我的Dockerfile看起来像这样。
FROM node:5.8.0
COPY . /my-project
WORKDIR /my-project
RUN npm install
CMD ["node", "server.js"]我将这个文件保存在.tar中,因为这是应用程序接口所要求的。问题是它会执行命令--除了当它进入npm install时--它会说找不到package.json。实际上,/my-project目录中唯一的东西就是Dockerfile。它似乎不了解如何复制实际的目录。
我正在使用dockerode节点模块。
var Docker = require('dockerode');
var docker = new Docker();
docker.buildImage('Dockerfile.tar', {t: 'myproject'}, function(err, stream) {
if(err) return;
stream.pipe(process.stdout, {end: true});
stream.on('end', function() {
done();
});
});当我通过我的终端在目录中运行命令时,如下所示
docker build . 它构建得非常好,然后我就可以在本地运行和访问我的容器了。
发布于 2016-04-14 04:32:47
人为错误。
/my-project的内容也需要在tar中。这样,当执行COPY . /my-project时,它会将.tar中的内容复制到目录中。
https://stackoverflow.com/questions/36586474
复制相似问题