目錄
- docker部署xxl-job-admin出現數據庫拒絕
- 問題出現:
- 1.拉取代碼:
- 2.docker部署mysql
- 3.部署代碼:
- 4.問題出現logs(摘取部分錯誤):
- 5.問題的解決思路:
- 6.總結:
- 擴展:docker 安裝 xxl-job
- 1、安裝mysql
- 2、安裝xxl-job-admin
- 3、瀏覽器登錄
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