作者回复: 谢谢你的建议!学习过程中碰到问题,自己主动解决,而且能把解决办法分享出来,这中学习方式收获最大。
作者回复: 这个错误提示一般是容器里头的应用无法连接mysql数据库造成,你需要核实应用的数据库连接字符串和密码设施是否正确(项目目录下的.env文件里头配置,可以在.env.example的基础上改)。 如果配置是对的,那么另外,docker-compose启动的容器环境有一个独立网络的,它和本地的网络是不同网络,你可否尝试docker exec容器上去尝试ping本机ip,看是否通。
作者回复: 请看一下mail-svc中的MailSendService.java文件,其中有一小段邮件截获逻辑: // In dev and uat - only send emails to @jskillcloud.com 在dev和uat环境中,只能将邮件发送到某个配置的目标域名后缀的地址。 你可以把这段逻辑注释掉,然后在dev/uat环境中也可以任意发邮件了。
作者回复: 搞k8s+微服务开发,还是弄mac or linux环境吧。如果暂时没米,可以尝试搞个黑苹果,看B站上视频很多,或者黑果小兵博客https://blog.daliansky.net/
作者回复: 具体的异常描述是什么?可尝试写一个简单的spring boot服务,通过连接字符串访问本地mysql,将spring boot服务打成镜像,然后docker compose运行,看看能不能通。
作者回复: spring boot服务的启动端口是可以配置的,参数是SERVER_PORT,可以根据不同部署环境进行调整。docker compose方式启动的话,配置在.env中(参考.env.example文件)。
作者回复: 请参考我在B站上的课程补充内容: https://www.bilibili.com/video/BV1Qi4y1b79r 里头有一节讲Docker环境如何集成skywalking。
作者回复: 请参考这个stackoverflow上的帖子: https://stackoverflow.com/questions/24319662/from-inside-of-a-docker-container-how-do-i-connect-to-the-localhost-of-the-mach
作者回复: 从你的描述我还无法判断问题所在,需要进一步了解你的部署架构,请加我微信(bulldog2015,说明来自极客时间)。
作者回复: 你好,在docker compose环境下运行staffjoy,路由映射用的是ProgrammaticMappingsProvider(参考retrieveMappings方法),实际路由映射表是在ServiceDirectory中,也就是说路由表是程序代码预制的。 可以根据需要定制自己的MappingsProvider,比如从本地文件(参考ConfigurationMappingsProvider),或者注册中心eureka中获取路由表。