docker将项目从本地搬到服务器常见错误

docker将项目从本地搬到服务器常见错误

ERROR1: 前端请求地址错误

❌错误征兆

返回的页面只有UI,没有数据

🔍发现方式

打开 F12 观察请求发送地址仍然为本地 127.0.0.1

📖解决办法

在前端封装的http中修改请求地址,也可以将服务器地址用VITE变量抽离

💬吐槽感言

这个问题也是最常见的问题,好在它容易被发现。这是前端最容易出现的问题,但好像前端能出现问题的地方也就只有这里了。

ERROR2: 服务器中端口未暴露

❌错误征兆

502错误,无法访问页面

🔍发现方式

刚开始真的很难发现,后面有经验了就熟悉了

📖解决办法

阿里云服务器中配置安全组

💬吐槽感言

端口暴露真是一大坑啊,先是这里,接下来又是docker里

ERROR3: docker-compose中端口未暴露

❌错误征兆

也是502错误,无法访问页面

🔍发现方式

本人当初发现这个问题是靠着一个一个文件慢慢检查,终于发现

📖解决办法

修改docker-compose.yml的ports配置项

💬吐槽感言

本来以为配置ssl证书没多少事,因为以前就干过这个事,那时候阿里云会帮忙把80和443默认暴露,但是Docker不会啊~明明以成功很快,遇到这个bug没发现半天搞不好,真是高血压

ERROR4: docker网络通信在springboot中未配置

❌错误征兆

mybatis会报错连不上数据库,前端数据也请求不过来

🔍发现方式

看教程,大部分教程都会提到编写docker-compose的时候要注意在springboot中配置这个

📖解决办法

修改 application.yml 的配置,redis改host,mybatis当然也可以直接改url,不过我觉得也抽离一个host变量比较统一

💬吐槽感言

其实docker-compose默认的网络通信功能我挺喜欢的,只要springboot里面简单改一下就可以使用了,我一般喜欢隐藏redis和mysql对外的暴露,让他们在内部通信,只有一开始的时候mysql要写一下数据表

ERROR5: docker image拉取的mysql未初始化

❌错误征兆

mybatis会报错,找不到表,前端也没有数据

🔍发现方式

一般来说在写docker-compose的时候就可以想到了,mysql是作为镜像下载下来的,相当于一个新的mysql,要重新去配置

📖解决办法

本人一般用navicat做表导出导入,这时候记得要在docker里面暴露出mysql向外,还有服务器那边也要暴露端口,双重暴露后就可以在本地连上去修改了,好像也可以在docker里面直接控制吧,这样要写sql语句,本人表示不会

💬吐槽感言

又是端口问题,害人不浅

ERROR6: spring-mail不能使用

❌错误征兆

发不了邮箱验证码

🔍发现方式

放到服务器后想发给朋友用,先看看注册账号有没有问题,结果一看果然有问题

📖解决办法

在 application.yml 中重新配置邮箱,利用465端口发送邮件,记得双重端口暴露,具体操作可以参考其他博客,原因是25端口被阿里云封禁不允许使用

结语

代码bug无穷道,平心静气方可行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值