你可以改变节点层的CMD – Docker

我是新来的docker工人,所以我不知道如果这是一个更简单的方法来解决它,但。 我想使用节点docker层作为我的基础层,默认情况下,只有docker文件中的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" ] 

或者你可以从底部创build一个新的图像,只需指定一个新的CMD:

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

当你build立你的图像,你可以直接运行它,而不需要在最后添加一个新的命令。 当基本图像改变时,只需重build你的,你会得到所有的更新。

是的,只需在docker运行结束时input你想要运行的命令。

 docker run <yourimage> <yourcommand>