如何解决如何使用docker部署React应用并提供-s build
到目前为止,我已经构建了映像并将其部署到AWS EC2。但是我想用
serve -s build
以生产模式投放该应用。 我是在本地完成的,显然一切似乎都很好。
┌────────────────────────────── ────┐ ││ │服务中! │ ││ │-本地:http:// localhost:5000│ │-在您的网络上:http://192.168.1.91:5000│ ││ │复制本地地址到剪贴板! │ ││ ──────────────────────────────── ─┘
页面进入..但是当我尝试向api请求时,我得到404。
我想知道如何响应构建工作以及将其投入生产模式需要做什么。而且,dist文件夹是做什么用的?
这是我的Dockerfile:
FROM node
#Create app directory
WORKDIR /app
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./
#Install dependencies
RUN npm install
RUN npm install react-scripts@3.4.1 -g --silent
#Copy app's source code inside the Docker image
COPY . .
#Expose the app's port
EXPOSE 3000
#Run the app when the container is ran
CMD ["npm","start""]
谢谢!
解决方法
这是我使用 serve -s build
运行时使用的 Dockerfile
# pull official base image
FROM node:13.12.0-alpine
# set working directory
WORKDIR /app
# Copies package.json and package-lock.json to Docker environment
COPY package*.json ./
# Installs all node packages
RUN npm install
# Copies everything over to Docker environment
COPY . .
# Build for production.
RUN npm run build --production
# Install `serve` to run the application.
RUN npm install -g serve
# Uses port which is used by the actual application
EXPOSE 5000
# Run application
#CMD [ "npm","start" ]
CMD serve -s build
我只是在 npm start(调试)和 serve(用于生产)之间切换。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。