docker部署xxl-job-admin出现数据库拒绝问题及解决方法
作者:岭上铃铛
docker部署xxl-job-admin出现数据库拒绝
笔者能力有限,小白一枚,在遇到问题之后记录问题的解决方式为主要目的,欢迎各位探讨交流。
问题出现:
1.拉取代码:
docker pull xuxueli/xxl-job-admin:2.3.0
2.docker部署mysql
3.部署代码:
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
4.问题出现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,为什么还会报数据库连接异常。但可以确信是数据库连接出了问题
5.问题的解决思路:
查看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
6.总结:
解决很简单,但曾无数遍怀疑是mysql权限的问题,网络连接时长等问题,许多bolg解决方式繁而杂,静下心才是正确的思维。
扩展:docker 安装 xxl-job
1、安装mysql
安装步骤:https://www.cnblogs.com/leihongnu/p/16258505.html
创建数据库并导入数据(xxl_job)
vimtables_xxl_job.sql
官网地址:https://github.com/xuxueli/xxl-job/blob/master/doc/db/tables_xxl_job.sql,不同版本的sql有些不一样,要注意
将文件上传到容器中,登录mysql,sourcetables_xxl_job.sql
#mysql -uroot -p >sourcetables_xxl_job.sql
2、安装xxl-job-admin
下载镜像
#docker pull xuxueli/xxl-job-admin:2.3.1
启动容器
#docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://192.168.59.103:3306/xxl_job?Unicode=true&characterEncoding=UTF-8 --spring.datasource.username=root --spring.datasource.password=root" -p 8080:8080 -v /tmp:/data/applogs --name xxl-job-admin --privileged=true -d xuxueli/xxl-job-admin:2.3.1
3、浏览器登录
地址:http://192.168.59.103:8080/xxl-job-admin
账号/密码:admin/123456
到此这篇关于docker部署xxl-job-admin出现数据库拒绝问题的文章就介绍到这了,更多相关docker部署xxl-job-admin数据库拒绝内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!