关于本地docker启动xxl-job

之前通过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服务,执行命令:

docker run -di \
    -e PARAMS="--spring.datasource.url=jdbc:mysql://ip:端口/xxl_job?useSSL=false&Unicode=true&characterEncoding=UTF-8" \
    -e PARAMS="--spring.datasource.username=root" \
    -e PARAMS="--spring.datasource.password=123456" \
    -e PARAMS="--spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver" \
    -e PARAMS="--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

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,那么我们应用服务配置也要修改,否则是报错。

配置:

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

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
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]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/400459.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

理解了镜像和容器,你就掌握了Docker的80%!

01、Docker的架构和底层技术 Docker Platform(平台) Docker提供了一个开发、打包、运行app(应用application)的平台 把app和底层infrastructure(基础设备)隔离开来 Docker Engine 组成 后台进程(dockerd) 用于一些后台的操作…

4.网络游戏逆向分析与漏洞攻防-游戏启动流程漏洞-模拟游戏登陆器启动游戏并且完成注入

内容参考于:易道云信息技术研究院VIP课 上一个内容:游戏启动流程的分析 码云地址(master 分支):https://gitee.com/dye_your_fingers/titan 码云版本号:bcf7559184863febdcad819e48aaacad9f25d633 代码下…

Java——重写(Override)与重载(Overload

1.重写(Override) 重写是子类对父类当中允许访问的方法的实现过程进行重新编写,返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义自己特定的行为, 也…

小迪安全29WEB 攻防-通用漏洞SQL 注入增删改查盲注延时布尔报错

#知识点: 1、明确查询方式注入 Payload 2、明确查询方式注入产生功能 3、明确 SQL 盲注延时&布尔&报错 #详细点: 盲注就是在注入过程中,获取的数据不能回显至前端页面。 也就是在代码中无echo将sql结果输出出来 此时&#…

qt_day3

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//设置账户和密码的登录标签ui->lab1->setPixmap(QPixmap(":/pictrue/wodepeizhenshi.png"));…

【学习心得】编程小白该如何学好C语言(✨新手推荐阅读)

前言 对于刚刚踏入编程领域的小白来说,C语言可能是一个既神秘又充满挑战的领域。但只要你掌握了正确的学习方法,C语言的学习之旅也可以是充满乐趣和成就感的。 一、明确学习目标 对于初学者来说,明确学习目标是学好C语言的第一步。一个清晰…

从零开始学习PX4源码1(两个三维矢量如何转换成四元数)

目录 文章目录 目录摘要参考网址推导过程 摘要 本节主要记录px4如何从两个三维旋转矢量转换到四元数的过程,欢迎批评指正!!! 参考网址 三维矢量转四元数 推导过程

一个基于C#开发的、开源的特殊字符输入法

emoji表情在社交网络非常流行,我们在手机也非常方便输入,但是在PC电脑我们一般需要到归集好的网页拷贝,所以今天推荐一个Windows小工具,让你方便输入特殊字符和emoji表情。 01 项目简介 这是一个基于C#开发的开源项目&#xff0…

一周学会Django5 Python Web开发-Django5路由变量

锋哥原创的Python Web开发 Django5视频教程: 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计22条视频,包括:2024版 Django5 Python we…

sqllabs第46关 order by 注入

简介:(order by注入-错误回显-POST注入) 请求方法:POST 方法:order by注入错误回显数字型注入 先了解下 order by参数注入: order by 注入是指其后面的参数是可控的, order by 不同于我们在 whe…

Java最全面试总结——5. MyBatis篇

1、什么是MyBatis (1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直…

计算机网络基础之计算机网络组成与分类

计算机网络基础 计算机网络是计算机技术与通信技术发展相结合的产物,并在用户需求的促进下得到进一步的发展。通信技术为计算机之间的数据传输和交换提供了必需的手段,而计算机技术又渗透到了通信领域,提高了通信网络的性能。 计算机网络的…

一个简短的补充------对链表练习题的补充补充

昨天不是写了一篇有关链表的数据结构练习题嘛,其实那篇文章的第二道题还有许多值得我们思考的东西,今天就在这做一个简短的补充。补充一下运用那道题解决另一道题。 给大家看一下绿色让眼睛放松一下。 给定一个链表的头节点 head ,返回链表…

十三:集合

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 01、Java 集合框架概述1.1、集合框架与数组的对比及概述1.2、集合框架涉及到的API 02、Collection接口方法2.1、Collection接口中的常用方法12.2、Collection接口中…

在Discord上添加自己的服务器并邀请midjourney机器人加入

我开发的chatgpt网站: https://chat.xutongbao.top

【机器学习案例5】语言建模 - 最常见的预训练任务一览表

自监督学习 (SSL) 是基于 Transformer 的预训练语言模型的支柱,该范例涉及解决有助于建模自然语言的预训练任务 (PT)。本文将所有流行的预训练任务放在一起,以便我们一目了然地评估它们。 SSL 中的损失函数 这里的损失函数只是模型训练的各个预训练任务损失的加权和。 以BE…

【智能家居】7、主程序编写+实现语音、网络和串口功能

需要毕业论文私信有偿获取 截止目前mainPro.c代码 #include <stdio.h> #include <string.h>#include "controlDevices.h" #include "inputCmd.h"struct Devices *findDevicesName(char *name,struct Devices *phead){struct Devices *tmp=ph…

互联网上的音频和视频服务

1 互联网上的音频和视频服务概述 许多用户开始利用互联网传送音频/视频信息。 在许多情况下&#xff0c;这种音频/视频常称为多媒体信息。 多媒体信息&#xff1a;内容上相互关联的文本、图形、图像、声音、动画和活动图像等所形成的复合数据信息。 多媒体信息的两个最主要…

【Python】2019年蓝桥杯省赛真题——完全二叉树的权值

蓝桥杯 2019 省 A&B&#xff1a;完全二叉树的权值 题目描述 给定一棵包含 N N N 个节点的完全二叉树&#xff0c;树上每个节点都有一个权值&#xff0c;按从上到下、从左到右的顺序依次是 A 1 , A 2 , ⋯ A N A_1,A_2, \cdots A_N A1​,A2​,⋯AN​&#xff0c;如下图所…

ueditor编辑器中的span标签被过滤处理办法

问题&#xff1a;我编辑指南的时候&#xff0c;给指南加了个span标签&#xff0c;并设置了id的属性&#xff0c; <span idhash_tag_location_11></span>;但是我编辑完以后&#xff0c;查看的时候发现span没了&#xff0c;id属性都消失了 解决过程 1、优先想到的是…