# Docker部署问题演示项目
基于CSDN博客《docker【问题记录】》中提到的两个常见Docker部署问题:
- Spring Boot项目连接MySQL失败 - 容器间网络连接问题
- Vue无法连接至后端 - Nginx转发配置问题
项目结构
├── docker-compose.yml # Docker Compose配置文件
├── index.html # 主演示页面
├── backend/ # Spring Boot后端
│ ├── Dockerfile
│ ├── pom.xml
│ └── src/main/java/com/example/demo/
│ └── DockerDemoApplication.java
├── frontend/ # Vue前端
│ ├── Dockerfile
│ ├── package.json
│ └── src/
│ ├── App.vue
│ └── main.js
├── nginx/ # Nginx配置
│ ├── nginx.conf
│ └── proxy.conf
└── config/ # 配置文件
└── mysql-init.sql
问题与解决方案
问题1: Spring Boot容器无法连接MySQL容器
错误配置:
spring.datasource.url=jdbc:mysql://localhost:3306/test
正确配置:
spring.datasource.url=jdbc:mysql://db:3306/test
解决方案: 使用Docker Compose服务名db代替localhost
问题2: Vue前端无法连接Spring Boot后端
错误配置:
location /api/ { proxy_pass http://localhost:8080; }
正确配置:
location /api/ { proxy_pass http://backend:8080; }
解决方案: 使用Docker Compose服务名backend代替localhost
快速开始
启动项目
docker-compose up --build -d
访问演示页面
打开浏览器访问:http://localhost:8080
查看服务状态
docker-compose ps
查看日志
docker-compose logs -f
停止项目
docker-compose down
服务端口
- 前端演示页面: http://localhost:8080
- Spring Boot后端: http://localhost:8081
- MySQL数据库: localhost:3306
技术栈
- 后端: Spring Boot 3.x, Java 17
- 前端: Vue 3, Element Plus
- 数据库: MySQL 8.0
- Web服务器: Nginx
- 容器编排: Docker Compose
博客原文
CSDN博客:docker【问题记录】
许可证
MIT License
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/281883.html