通过查看Docker的tomcat容器的日志看报错
问题截图
(2)分析原因
springBoot打成jar包 通过docker部署 测试接口失败 通过查询docker容器的日志,看到连接数据库失败。此时怀疑
1.可能是数据库账号密码输入错误 警告排查是账号密码没错误,
2.怀疑是mysql的ip地址直接使用localhost或者127.0.0.1 是错误的
(3)解决办法
1.直接尝试使用服务器的ip地址和映射的docker端口号发现成功,放开防火墙,测试成功,说明是直接使用localhost可以,巨坑
windows可以直接使用localhost连接数据库,而docker镜像生成的mysql容器的ip并不是localhost(127.0.0.1)
直接使用服务器的ip和映射的端口,看可以实现数据库的链接但是这是不安全的数据库是不经暴露的,3306,6739(redis)端口服务部署之后是开启防火墙的
2. 通过docker inspect 查看mysql容器的详情
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql
3.拿到mysql容器的ip 修改application-dev.yml 的mysql的url配置然后再进行接口测试数据查询成功