Node.js Docker远程API构建,带有节点和DockerRode

Node.js Docker远程API构建,带有节点和DockerRode,node.js,docker,Node.js,Docker,我正在尝试使用Docker远程API进行发布/构建 我的Dockerfile看起来像 FROM node:5.8.0 COPY . /my-project WORKDIR /my-project RUN npm install CMD ["node", "server.js"] 我在.tar中有这个文件,因为这是API所需要的。问题是它执行命令-除非在npm安装时-它说找不到package.json。事实上,/my project目录中唯一的东西就是Dockerfile。它似乎不明白如

我正在尝试使用Docker远程API进行发布/构建

我的Dockerfile看起来像

FROM node:5.8.0

COPY . /my-project

WORKDIR /my-project

RUN npm install

CMD ["node", "server.js"]
我在.tar中有这个文件,因为这是API所需要的。问题是它执行命令-除非在npm安装时-它说找不到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 . 
它构建得非常好,然后我可以在本地运行和访问我的容器。

人为错误

我的项目的内容也需要在tar中。那样的话
复制/我的项目执行时,
将.tar中的内容复制到目录中。

什么是.tar文件的路径?您想将此文件(.tar文件)复制到/my project文件夹,对吗?tar文件位于执行它的目录的本地。它确实找到了我使用节点test.js执行的Dockerfile.tar,tar文件与test.js处于同一级别