docker无法连接宿主机(docker部署xxl-job-admin出现数据库拒绝问题)
导读:笔者能力有限,小白一枚,在遇到问题之后记录问题的解决方式为主要目的,欢迎各位探讨交流。...
笔者能力有限 ,小白一枚 ,在遇到问题之后记录问题的解决方式为主要目的,欢迎各位探讨交流 。
问题出现:
拉取代码:
docker pull xuxueli/xxl-job-admin:2.3.0docker部署mysql
部署代码:
docker run -d --link mysql:tolinkmysql -e PARAMS="--spring.datasource.url=jdbc:mysql://tolinkmysql:33061/xxl_job?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=root --spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver" -p 8180:8080 -v /tmp:/data/applogs --name xxl-job-admin xuxueli/xxl-job-admin:2.3.0问题出现logs(摘取部分错误):
// com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure // Caused by: java.net.ConnectException: Connection refused (Connection refused) // The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.百思不得其解的是明明已经用link链接了mysql ,为什么还会报数据库连接异常 。但可以确信是数据库连接出了问题
问题的解决思路:
查看mysql容器的内部ip替换即可正常启动
docker inspect 容器名 # 查看容器IP docker run -d -e PARAMS="--spring.datasource.url=jdbc:mysql://172.17.0.1:33061/xxl_job?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=root --spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver" -p 8180:8080 -v /tmp:/data/applogs --name xxl-job-admin xuxueli/xxl-job-admin:2.3.0总结:解决很简单 ,但曾无数遍怀疑是mysql权限的问题 ,网络连接时长等问题 ,许多bolg解决方式繁而杂 ,静下心才是正确的思维 。
转载请附带链接 ,谢谢!
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!