无法在 React Js 的 docker 文件中使用端口 3002

Not able to use port 3002 in docker file for React Js

我想在我的 React js 应用程序中使用其他端口,例如 3002 而不是 3000,但我无法使用它。谁能帮我解决这个问题?

请注意,我不想在 package.json 中更改以更新端口 -> "start" : "PORT=3002 react-scripts start"

我只想在 Dockerfile 中具体更改

有什么方法可以更改 CMD 以提供 PORT 吗?

FROM node:16.13.2


ARG DEFAULT_PORT 3002

ENV PORT ${DEFAULT_PORT}

# set working directory
WORKDIR /app

# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH

# install app dependencies
COPY package.json ./

COPY package-lock.json ./

RUN npm install

# add app
COPY . ./

#RUN export PORT=3002 -> with this one also not working

# start app
CMD ["npm", "start"]

尝试运行

npx kill-port 3002

然后再次启动它,因为现在端口正在用于其他一些项目

要使用手动端口而不是默认端口,您可以使用此命令

CMD PORT=3002 npm start 而不是 npm start

请尝试以下命令。

CMD PORT=3002 npm start

应该改端口,不要用CMD ["PORT=3002", "npm", "start"]