当前位置:   article > 正文

关于本地docker启动xxl-job_xxl-job docker启动

xxl-job docker启动

之前通过github拉取xxl-job到本地启动,已经验证完了,主要要记住以下几个步骤:

1.拉取代码

GitHub地址:https://github.com/xuxueli/xxl-job

Gitee地址:https://gitee.com/xuxueli0323/xxl-job

2.idea打开,找到tables_xxl_job.sql文件,在mysql库中执行

执行完,会生成以下表:

打开xxl-job-admin模块,在application.properties中进行后台的配置,修改数据源和提示企业邮箱。

其中数据库地址要加上时区属性,否则乱码

举例:

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?Unicode=true&characterEncoding=UTF-8&serverTimezone=UTC

以上是本地正常启动或者通过jar包启动,例如 java -jar xxxx.jar

---------------------------------------------------分割线---------------------------------------------------------------

下面介绍docker启动xxl-job

1.拉取镜像

docker pull xuxueli/xxl-job-admin:2.4.0

2.启动

如果是linux服务,执行命令:

  1. docker run -di \
  2. -e PARAMS="--spring.datasource.url=jdbc:mysql://ip:端口/xxl_job?useSSL=false&Unicode=true&characterEncoding=UTF-8" \
  3. -e PARAMS="--spring.datasource.username=root" \
  4. -e PARAMS="--spring.datasource.password=123456" \
  5. -e PARAMS="--spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver" \
  6. -e PARAMS="--xxl.job.accessToken=mq.test" \
  7. -p 9001:8080 \
  8. -v /usr/local/src/docker/xxl-job:/data/applogs \
  9. --name xxl-job \
  10. --privileged=true \
  11. xuxueli/xxl-job-admin:2.4.0

Windows版docker执行以下命令:

docker run -di -e PARAMS="--spring.datasource.url=jdbc:mysql://宿主机IP:3307/xxl_job?Unicode=true&characterEncoding=UTF-8&useSSL=false --spring.datasource.username=root --spring.datasource.password=123456 --spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver --xxl.job.accessToken=mq.test" -p 9001:8080 -v /usr/local/src/docker/xxl-job:/data/applogs --name xxl-job --privileged=true xuxueli/xxl-job-admin:2.4.0

下面来聊一下踩的坑:

1.我的环境是windows docker 启动了一个mysql容器 端口3306映射本地3307;启动了xxl-job 容器端口8080映射本地9001;我在docker启动命令中使用的jdbc:mysql:127.0.0.1:3307,xxl-job容器启动了,但是服务启动失败,报错日志:

备注:可以用命令docker logs --since 2m xxl-job 查看容器最近2分钟内的运行日志(xxl-job容器名称)

发现没有连上mysql。

原因是:

参数中,jdbc:mysql://127.0.0.1:3307/xxl_job 中的 127.0.0.1 指向的是 xxl-job 容器本身,而不是宿主机。为了使 xxl-job 容器能够连接到宿主机上运行的 MySQL 服务器,您应该使用宿主机的 IP 地址,而不是 127.0.0.1

修改完成,即可。

注意:

上述启动命令中设置了accessToken,那么我们应用服务配置也要修改,否则是报错。

配置:

如果不改,则启动时会报错:

  1. 15:06:41.199 logback [Thread-5] INFO com.xxl.job.core.server.EmbedServer - >>>>>>>>>>> xxl-job remoting server start success, nettype = class com.xxl.job.core.server.EmbedServer, port = 9999
  2. 15:06:41.230 logback [xxl-job, executor ExecutorRegistryThread] INFO c.x.j.c.t.ExecutorRegistryThread - >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='xxl-job-executor-sample', registryValue='http://172.19.18.45:9999/'}, registryResult:ReturnT [code=500, msg=The access token is wrong., content=null]

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/584056
推荐阅读
相关标签
  

闽ICP备14008679号