docker - 如何使用 Docker-Compose 链接后端和前端
问题描述
我需要帮助来链接我的应用程序的后端和前端,以创建一个简单的应用程序,如果后端连接到前端,它将返回 Working。此外,当我不使用 Docker 执行时,可以正常工作,但是当我尝试使用 Docker 时,它没有连接。
使用的技术:
- Springboot(后端)
- NodeJs - Express -Axios(前端)
Dockerfile,前端
FROM node:14 WORKDIR /app COPY package*.json /app/ RUN npm install -g nodemon COPY . /app EXPOSE 3000 CMD ["node", "start"]
Dockerfile 后端:
FROM openjdk:latest WORKDIR /usr/src/app ADD target/springboot.jar /usr/src/app/springboot.jar EXPOSE 8080 ENTRYPOINT [ "java", "-jar", "/usr/src/app/springboot.jar" ]
docker-compose.yml 代码:
version: '3.7' services: backend: build: context: backend dockerfile: Dockerfile ports: - "8080:8080" networks: - integration frontend: build: context: frontend dockerfile: Dockerfile command: nodemon start frontend/app.js volumes: - "./frontend:/app/" depends_on: - backend ports: - "3000:3000" networks: - integration networks: integration: driver: bridge
解决方案
在这种情况下,公开的端口可用于 [service]:[port] 的其他容器 backend:8080