Docker撰写生产

Mer*_*sen 2 node.js docker docker-compose docker-machine

尝试使用docker-compose来构建和创建一个简单的Node.js应用程序.虽然我遇到了Django应用程序的同样问题,但我想我只是错过了一些重要的步骤.这是我的Dockerfile:

FROM node:4.2.1
CMD mkdir -p /var/app
COPY . /var/app
EXPOSE 3000
CMD node /var/app/index.js
Run Code Online (Sandbox Code Playgroud)

当我运行docker compose up指向数字海洋机器时,它会抛出一个节点错误,表明它无法在/ var/app中找到代码.是否有一些其他机制我应该用来将我的代码放到除了docker之外的机器上?

bla*_*jid 5

这条线CMD mkdir -p /var/app是错的.它应该只是CMDDockerfile中的一个,通常在最后.

只会CMD执行一系列继承的docker镜像中的最后一个指令.

您应该使用RUN,而不是

来自Dockerfile参考

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

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