Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 可以更改节点层-Docker的CMD吗_Node.js_Docker_Dockerfile - Fatal编程技术网

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

Node.js 可以更改节点层-Docker的CMD吗,node.js,docker,dockerfile,Node.js,Docker,Dockerfile,我是docker的新手,所以我不确定是否有更简单的方法,但是。我想使用节点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

我是docker的新手,所以我不确定是否有更简单的方法,但是。我想使用节点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" ]

是的,只需在docker run结束时键入要运行的命令

docker run <yourimage> <yourcommand>
docker运行

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

FROM <image-which-does-almost-exactly-what-i-want>
CMD ["my", "replacement", "command"]
来自
CMD[“我的”、“替换”、“命令”]
构建映像时,可以直接运行它,而无需在末尾添加新命令。当基础映像发生更改时,只需重新构建映像,即可获得所有更新