Docker组合在生产中

尝试使用docker-compose构build一个简单的Node.js应用程序。 虽然我遇到了Django应用程序的相同问题,所以我认为我只是缺less某种重要的步骤。 这是我的Dockerfile:

FROM node:4.2.1 CMD mkdir -p /var/app COPY . /var/app EXPOSE 3000 CMD node /var/app/index.js 

当我运行docker组成指向一个数字海洋机器时,它会抛出一个节点错误,提示它无法在/ var / app中find代码。 有没有其他的机制,我应该用我的代码到docker以外的机器?

CMD mkdir -p /var/app是错误的。 Dockerfile中应该只有一个CMD ,通常在末尾。

只有inheritance的泊坞窗图像中的最后一个CMD指令才会被执行。

你应该使用RUN

从Dockerfile参考

Dockerfile中只能有一个CMD指令。 如果列出多个CMD,则只有最后一个CMD才会生效。

CMD的主要目的是为正在执行的容器提供默认值。

尝试拿出mkdir步骤。 您还需要设置工作目录。