Docker 将react应用程序停靠在生产环境中,与nginx结合使用时,效果并不理想
长话短说,我有两张图片。一个用于客户端,另一个用于服务器。我正在使用docker compose,当我在开发模式下运行所有东西时,一切都正常工作,我可以访问我的应用程序 我有一行“代理”:http://server:5000“在json包中,它按预期工作 我没有更改docker compose文件中的任何内容,该文件位于:Docker 将react应用程序停靠在生产环境中,与nginx结合使用时,效果并不理想,docker,nginx,docker-compose,Docker,Nginx,Docker Compose,长话短说,我有两张图片。一个用于客户端,另一个用于服务器。我正在使用docker compose,当我在开发模式下运行所有东西时,一切都正常工作,我可以访问我的应用程序 我有一行“代理”:http://server:5000“在json包中,它按预期工作 我没有更改docker compose文件中的任何内容,该文件位于: 版本:“3.8” 服务: 服务器: 图:“srdjano1/reaction服务器” 端口: - 5000:5000 环境文件: -./环境 客户: 图:“srdjano1/
版本:“3.8”
服务:
服务器:
图:“srdjano1/reaction服务器”
端口:
- 5000:5000
环境文件:
-./环境
客户:
图:“srdjano1/反应客户端产品”
端口:
- 80:80
然而,当我想在生产模式下启动React应用程序并添加nginx
时,服务器不再接收请求
以下是新的Dockerfile:
FROM node:14-alpine as build
WORKDIR /app
COPY package.json .
RUN yarn install
COPY . .
RUN npm run build
FROM nginx:stable-alpine
COPY --from=build /app/build /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
有人知道原因吗?看看这是一个开放源码的nginx管理器,它有一个GUI界面。它可能有助于解决端口问题,使应用变得非常容易,而无需复杂的配置设置您是否将nginx指向端口5000或默认为80如果是,则需要将5000:5000更改为80:5000我已在服务器配置中更改了80:5000,但是我需要将客户端更改为
3000:80
,因为我不能使用相同的主机端口。无论如何,还是一样的问题。我不知道如何将nginx
指向端口5000。您可以使用nginx管理器来简化该过程。将docker映像向下拉,并对其进行处理,看看这是否有助于您的情况