Node.js 在WORKDIR子目录的上下文中运行Docker CMD
我需要CMD在Node.js 在WORKDIR子目录的上下文中运行Docker CMD,node.js,docker,Node.js,Docker,我需要CMD在/app/server中的package.json文件的上下文中运行。现在它正在应用程序root中运行,其中没有package.json: FROM node:14.8.0-alpine WORKDIR /app ENV PORT 8080 COPY app ./ CMD [ "yarn", "start-server" ] 您可以通过两种方式执行此操作: 正确的方法是使用额外的WORKDIR: FROM node:14.8.0-alpin
/app/server
中的package.json文件的上下文中运行。现在它正在应用程序root
中运行,其中没有package.json:
FROM node:14.8.0-alpine
WORKDIR /app
ENV PORT 8080
COPY app ./
CMD [ "yarn", "start-server" ]
您可以通过两种方式执行此操作:
WORKDIR
:
FROM node:14.8.0-alpine`
WORKDIR /app
ENV PORT 8080
COPY app ./
WORKDIR /app/server
CMD [ "npm", "run", "serve" ]
CMD
,包括cd
,以在启动时更改目录:
CMD cd /server && npm run serve
您可以通过两种方式执行此操作:
WORKDIR
:
FROM node:14.8.0-alpine`
WORKDIR /app
ENV PORT 8080
COPY app ./
WORKDIR /app/server
CMD [ "npm", "run", "serve" ]
CMD
,包括cd
,以在启动时更改目录:
CMD cd /server && npm run serve
您可以多次使用
WORKDIR
FROM node:14.8.0-alpine
WORKDIR /app
ENV PORT 8080
COPY app ./
WORKDIR /app/server
CMD [ "yarn", "start-server" ]
WORKDIR /app
您可以多次使用
WORKDIR
FROM node:14.8.0-alpine
WORKDIR /app
ENV PORT 8080
COPY app ./
WORKDIR /app/server
CMD [ "yarn", "start-server" ]
WORKDIR /app
WORKDIR被设置为/app,所以当您开始时,它就是您结束的地方。您可能想在CMD前面添加另一个
WORKDIR/app/server
?WORKDIR被设置为/app,所以当您开始时,它就是您结束的地方。您可能想在CMD前面添加另一个WORKDIR/app/server
?