【发布时间】:2021-04-04 23:08:27
【问题描述】:
我的应用程序有以下文件夹结构。
- 根文件夹
- docker-compose.yml
- rest-api-项目
- Dockerfile
- react-ui-project
- Dockerfile
rest-api-project 在 7070 端口上运行,react-ui-project 在 8080 端口上运行。
用于 rest-api-project 的 Dockerfile
FROM java:8-jdk-alpine
COPY ./Rest-Api/target/Rest-Api-0.0.1-SNAPSHOT.jar /usr/app/
WORKDIR /usr/app
RUN sh -c 'touch Rest-Api-0.0.1-SNAPSHOT.jar'
EXPOSE 7070:7070
ENTRYPOINT ["java","-jar","Rest-Api-0.0.1-SNAPSHOT.jar"]
react-ui-project 的 Dockerfile
FROM node:lts-alpine as build
RUN mkdir /react-ui
WORKDIR /react-ui
COPY package.json .
RUN npm install
COPY . .
EXPOSE 8080:8080
CMD ["npm","start"]
docker-compose.yml
version: "3.0"
services:
reactui:
build:
dockerfile: Dockerfile
context: ./react-ui-project
ports:
- "8080:8080"
restapi:
build:
dockerfile: Dockerfile
context: ./rest-api-project
ports:
- "7070:7070"
我正在运行docker-compose up 命令。
两个应用程序都正常启动。
当我在软管浏览器中尝试 localhost:8080 时,我没有看到反应应用程序正在运行。
但如果我尝试使用localhost:7070,那么我会从 rest-api-project 获得示例响应。
我不明白为什么 localhost:8080 上的 react 应用程序没有出现。
【问题讨论】:
-
您确定您的应用正在监听 8080 吗?是使用
0.0.0.0还是127.0.0.1? -
它从本地主机开始。我正在使用 webpack 启动反应应用程序。正如我在日志中看到的那样,它从 localhost:8080 开始,我没有在 devServer 下为 webpack 提供任何主机
-
你能把它改成
0.0.0.0 -
0.0.0.0 不工作。
-
现在工作,再次重建整个图像。制作 0.0.0.0 而不是 localhost webpack。
标签: reactjs spring-boot docker docker-compose