reactjs - React/Spring/MySQL 容器化:拉取镜像后前端无法启动
问题描述
仍在掌握 Docker 及其概念。我有一个 React 前端,我正在尝试将其部署到 Spring Boot 和 MySQL 中的后端 REST API。现在,我能够分别构建和推送图像,即一个用于 React 应用程序,另一个用于 Spring Boot 应用程序。
这是我Dockerfile
的前端 React 应用程序。
FROM node:13.12.0-alpine
WORKDIR /app
ENV PATH /app/node_modules/.bin:$PATH
COPY package.json ./
COPY package-lock.json ./
RUN npm install --silent
RUN npm install react-scripts@3.4.1 -g --silent
COPY . ./
CMD ["npm", "start"]
localhost:3001
我可以使用这个 docker 命令运行前端:
docker run -it --rm -v ${PWD}:/app -v /app/node_modules -p 3001:3000 -e CHOKIDAR_USEPOLLING=true dockeruser/app-client
这是针对我的 Spring Boot 后端的:
FROM openjdk:15-jdk-alpine
COPY app-server-web/target/app-server-web.jar /app-server-web.jar
ENTRYPOINT ["java", "-jar", "/app-server-web.jar"]
现在我能够构建这两个并将它们推送到 dockerhub。我现在想编写它们,但由于某种原因,前端无法在我分配给它的端口上启动。这是我的docker-compose.yml
文件:
version: '3'
services:
application-db:
restart: always
container_name: application-db
image: 'mysql:5.7.30'
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: application_database
MYSQL_USER: alee
MYSQL_PASSWORD: anotherpassword
ports:
- '3308:3306'
volumes:
- './initial.sql:/docker-entrypoint-initdb.d/initial.sql'
- null
application-server:
restart: on-failure
image: 'dockeruser/app-server:latest'
expose:
- '8080'
ports:
- '8080:8080'
environment:
SPRING_DATASOURCE_URL: >-
jdbc:mysql://application-db:3306/application_database?useSSL=false&allowPublicKeyRetrieval=true
SPRING_DATASOURCE_USERNAME: alee
SPRING_DATASOURCE_PASSWORD: anotherpassword
depends-on:
- application-db
networks:
- backend
- frontend
application-client:
restart: on-failure
image: 'dockeruser/app-client:latest'
expose:
- '3001'
ports:
- '3001:3000'
depends-on:
- application-server
networks:
- frontend
networks:
backend: null
frontend: null
这些是我得到的日志docker-compose up
application-client_1 | ℹ 「wds」: Project is running at http://192.168.128.3/
application-client_1 | ℹ 「wds」: webpack output is served from
application-client_1 | ℹ 「wds」: Content not from webpack is served from /app/public
application-client_1 | ℹ 「wds」: 404s will fallback to /
application-client_1 | Starting the development server...
application-client_1 |
我很确定出了什么问题,docker-compose.yml
但我不确定它是什么?
解决方案
推荐阅读
- android - 如何将计时器放在按钮上,以便在计时器结束后播放我的旋律?
- r - 如何使用 rvest 来刮这张表?环形?
- git - 要求在 GitHub 中推送被忽略的文件
- java - Spigot API 和 JDA 以及 maven
- r - 即使在 R 中为 0 且没有小数,也有三位有效的小数位
- php - 使用 php 多查询创建徽章系统并将 JSON 数组输出到 Android Studio
- node.js - /bin/sh: sequelize: 当我尝试使用 docker-compose 运行 express.js 应用程序时找不到
- c# - Datatables.net Razor 页面需要很长时间才能加载更大的数据集
- css - 在背景渐变中切一个洞
- mysql - 使用 Laravel Eloquent,我可以在两组数据之间搜索并仅在整个数据集与某些值匹配时拉取吗?