node.js - 可以更改 Node 层的CMD吗-Docker

标签 node.js docker dockerfile

我是 docker 新手,所以我不确定是否有更简单的方法来解决这个问题。我想使用node docker层作为我的基础层,只有dockerfile中的CMD默认设置为CMD [“npm”,“start]。有没有办法改变这个初始CMD?

变更原因: 我有一个特定的启动脚本来启用生产模式,并且我希望保持我的设置不变。

FROM node:6.6.0

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

ONBUILD ARG NODE_ENV
ONBUILD ENV NODE_ENV $NODE_ENV
ONBUILD COPY package.json /usr/src/app/
ONBUILD RUN npm install
ONBUILD COPY . /usr/src/app

CMD [ "npm", "start" ]

最佳答案

或者您可以从基础创建一个新图像并仅指定一个新的 CMD:

FROM <image-which-does-almost-exactly-what-i-want>
CMD ["my", "replacement", "command"]

构建镜像时,您可以直接运行它,而无需在最后添加新命令。当基础镜像发生更改时,只需重建您的镜像即可获得所有更新。

关于node.js - 可以更改 Node 层的CMD吗-Docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39634293/

相关文章:

node.js - 如何从unity连接NodeJS数据库?

javascript - nestjs 应用程序的生产部署的正确方法是什么

docker - 无人机 CI 在克隆步骤上失败

docker - 是什么导致 docker 卷被填充?

node.js - 相互通信微服务 - 如何?

javascript - 使用异步 NPM 模块

node.js - 有没有办法隐藏node.js代码

docker - Docker:简单的ls命令在docker build中不起作用

Dockerfile 中的 docker 卷和 VOLUME

docker - Docker构建dockerfile