当 xxl-job 遇上 docker → 它晕了,我也乱了!

news2024/11/17 19:33:12

admin 和 executor 都单独部署

  部署很简单,我就不具体演示了(不是主角,没戏份!)

  直接看效果

  192.168.8.222 上部署 xxl-job-admin 

  192.168.8.223 上部署 xxl-job-executor 

  是不是很简单?

  效果也和我们预想的一样

admin 单独部署,executor 通过 docker 部署

  192.168.8.223 安装 docker ,安装过程我就不演示了,直接看效果

   docker 版本 20.10.21 

  大家注意,伴随着 docker 的运行,多了一个网卡配置信息

  有兴趣的可以查阅下: docker 网络的 bridge 模式;这里先混个眼熟,注意IP 172.17.0.1 

  executor 和 docker 并存

  此时我们重启下 xxl-job-executor ,然后在 xxl-job-admin 重新注册下执行器

  自动注册上来的机器IP是 172.17.0.1 ,而非 192.168.8.223 ,那么伴随而来的问题就是: xxl-job-admin 访问不通 xxl-job-executor 

  我们改成手动注册,看看能否访问通

  可以看到,手动注册不受 docker 的影响,能正常访问通

  而自动注册则受了 docker 的影响,注册的IP不对,至于如何解决,请继续往下看

  executor 通过 docker 部署

  如何打将 xxl-job-executor 打成 docker 镜像,不是本文的内容,所以省略不演示(言外之意是需要大家自行去学习!)

  我们直接 run 执行器镜像

  自动注册上来的IP 172.17.0.2 ,很明显,问题( xxl-job-admin 访问不通 xxl-job-executor )再次出现

  那改成手动注册试试

  哟嚯, xxl-job-admin 还是访问不通 xxl-job-executor 

  放弃抵抗吧,别挣扎了

  少年莫急,我们的 xxl-job-executor 是通过 docker 部署的,你有把 docker 容器的 9999 端口映射到宿主机吗

  (由于换了地方,IP也跟着变了, 192.168.8.222 ->  10.5.13.222 , 192.168.8.223  ->  10.5.13.223 )

  重启下 sample-executor:1.0 

  我就问你,是不是通了?

admin 和 executor 都通过 docker 部署

   executor 通过 docker 部署,前面已经讲过了

  

自动注册IP问题

  前面说了那么多,最终回归到一个问题:自动注册的IP为什么不是 Docker 宿主机的IP

  不管是 xxl-job-admin 还是 xxl-job-executor ,都是直接用的官方的代码,楼主可一行都没改

  那肯定是 xxl-job 自动注册没有做好 docker 的兼容呗

  这可不是我瞎说, github 上 xxl-job 有很多相关的 issue (191、630、1121、1658、1668)

  许大大在源码中也给出了解决方案, xxl-job-executor-sample-springboot 有个类: XxlJobConfig.java ,其中有如下说明

  那试试呗,我们对 xxl-job-executor-sample-springboot 进行改造

  引入依赖

  修改 XxlJobConfig.java 

  添加配置

  executor 和 docker 并存

   docker 运行,但 executor 不通过 docker 部署

  自动注册的ip竟然是: 127.0.0.1 ,莫非要通过 docker 部署?

  executor 通过 docker 部署

  镜像我已经打包好: sample-executor:1.1 ,我们来看下效果

  自动注册的ip是 172.17.0.2 ,不是宿主机ip: 10.5.13.223 ,莫非 docker 镜像打的有问题?

  我们进容器内看看日志

  我们再看看容器内的网卡配置信息

  请问这如何获取宿主机IP( 10.5.13.223 )?

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

物联网智慧养老平台解析

在智慧养老解决方案中,物联网技术的应用是核心,无论是老人的定位还是生物波雷达的跌倒检测都是物联网技术的应用。 一、 系统介绍 RTLS的全称是real time location system,是一种基于信号的无线电定位手段,目前国内RTLS行业主要用…

【0109】Linux系统监测工具sysstat介绍

文章目录 1. sysstat介绍2. sysstat安装2.1 从源码编译sysstat2.1.1 为Android设备编译3. CPU状态查看4. IO状态查看5. 进程状态查看6. 线程状态查看7. 系统活动状态查看1. sysstat介绍 sysstat实际上是一个工具箱,这其中包含了好几个工具。它们的介绍如下: 2. sysstat安装…

用DIV+CSS技术设计的餐饮美食网页与实现制作(web前端网页制作课作业)HTML+CSS+JavaScript美食汇响应式美食菜谱网站模板

👨‍🎓静态网站的编写主要是用HTML DIVCSS JS等来完成页面的排版设计👩‍🎓,常用的网页设计软件有Dreamweaver、EditPlus、HBuilderX、VScode 、Webstorm、Animate等等,用的最多的还是DW,当然不同软件写出的…

2022中国5G+工业互联网大会值得关注的那些事

2022中国5G工业互联网大会 2022年11月20日,由工业和信息化部、湖北省人民政府主办的2022中国5G工业互联网大会在湖北武汉开幕。湖北省委书记王蒙徽出席开幕大会。湖北省委副书记、省长王忠林,工业和信息化部党组成员、副部长张云明讲话。湖南省人民政府党…

数商云S2B2C商城积分商城功能如何实现家用电器企业营销价值最大化?

随着数字化商业时代的到来,消费者行为发生了深刻变化,多元化的消费需求不断驱动着品牌营销思维的变革。对于家用电器行业来说,如何顺应消费者的消费行为变化,不断完善整合更新用户需求,应用更智能化的营销手段与消费者…

第四章. Pandas进阶—数据导出

第四章. Pandas进阶 4.7 数据导出 1.导出.xlsx文件 1).语法: DataFrame.to_excel(excel_writer, sheet_nameSheet1, na_rep, float_formatNone, columnsNone, headerTrue, indexTrue, index_labelNone, startrow0, startcol0, engineNone, merge_cellsTrue, encodi…

(续)SSM整合之springmvc笔记(文件上传和下载)(P159-163)

一 .文件下载 ResponseEntity用于控制器方法的返回值类型&#xff0c;该控制器方法的返回值就是响应到浏览器的响应报文 使用ResponseEntity实现下载文件的功能1. 搞一张图片 2. index.html <a th:href"{/test/down}">下载图片</a> 3 .创建控制器Fil…

日本知名汽车零部件公司巡礼株式会社115

株式会社115 业务内容&#xff1a; 拖车用辅助脚、拖车用零件类、特殊车辆用车轴Sub。Assy产品、面向汽车产业的生产设备、面向建设机械的零部件类、面向汽车产业的检查夹具 公司简介&#xff1a; 董事长&#xff1a;佐藤安弘 资本金&#xff1a;4500万日元 员工数&#x…

在线研讨会 | 多说话人语音融合 - NVIDIA NeMo 代码解析

多说话人语音融合 - NVIDIA NeMo 代码解析 多说话人语音融合任务是 TTS 语音合成当中的一个子任务&#xff0c;它是指将两个或者多个说话人的声音进行融合&#xff0c;合成出新的语音的过程&#xff0c;而不需要做任何进一步的微调。多说话人语音融合可以通过插值的方式代替预…

线程创建方式

Thread&#xff1a;线程 创建方式&#xff1a; 方法一&#xff1a;继承Thread类 1. 继承 Thread 来创建一个线程类 2. 创建 MyThread 类的实例 3. 调用 start 方法启动线程 方法2 实现 Runnable 接口 1. 实现 Runnable 接口 2. 创建 Thread 类实例, 调用 Thread 的构造方…

ELK企业级日志分析系统

一 ELK ELK平台是一套完整的日志集中处理解决方案&#xff0c;将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用&#xff0c; 完成更强大的用户对日志的查询、排序、统计需求。 1 ELK各组件概念 ElasticSearch&#xff1a; 是基于Lucene&#xff08;一个全文检索…

X11 Xlib截屏问题及深入分析一 —— 源码位置

在使用类Ubuntu操作系统进行截屏时&#xff0c;发现屏幕有时不能正确截取&#xff0c;于是这才有了这段时间的Spetacle、Flameshot、X11 Xlib的系列文章。最后不使用Qt、直接使用X11 Xlib进行截屏仍然存在同样问题。这就需要深入对于代码进行分析了。再次列出源码如下&#xff…

[附源码]SSM计算机毕业设计高校创新创业服务平台JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

CAD数据文件格式DXF部分实体(圆弧、椭圆、凸度)解析[原理讲解+公式推导+java实现]

文章目录CAD图像读取与显示说明官方实体说明实体圆弧dxf记录信息代码实现测试优化多段线的凸度dxf记录信息代码实现测试椭圆dxf记录信息代码实现测试引用图片引用文章引用CAD图像读取与显示说明 如果想要开发一个可以读取dxf图像的软件&#xff0c;为了方便图像在软件中的绘制&…

优秀开源项目解读(六

一、Piggy Metrics介绍 PiggyMetrics是一个模拟的个人记账理财的应用&#xff0c;原作者称其为一个端到端的微服务PoC(Proof of Concept)&#xff0c;也就是说他开发这个是为了验证微服务架构和Spring Cloud技术栈。PiggyMetrics目前在github上有超过12k星&#xff0c;是学习微…

安卓讲课笔记5.6 列表视图

文章目录零、本讲学习目标一、导入新课二、新课讲解&#xff08;一&#xff09;列表视图概述1、继承关系图2、列表视图API文档3、列表视图四要素4、四种常用适配器&#xff08;二&#xff09;数组适配器1、数组适配器API文档2、数据适配器继承关系图3、数组适配器构造方法&…

第3章 定义内存缓存和log4net日志中间件

006 ICaching、MemoryCaching、SqlSugarMemoryCacheService 、MemoryCacheSetup Icaching&#xff1a;继承该接口的具体实现类&#xff0c;用于把内存缓存中间件实例注入到内置容器中&#xff0c;为实体实例的缓存数据交互操作提供内存管理操作支撑。 MemoryCaching&#xff1a…

了解Redis之命令操作

目录 1、Redis简介 2、Redis安装 2.1解压redis 2.2.安装gcc 2.3.编译redis 2.4.检测安装情况 2.5.修改redis.conf文件 2.6启动redis 2.7.测试redis启动是否成功 3、Redis命令 3.1.String 3.2.Hash 3.3.List 3.4.set 1、Redis简介 Redis是一个开源&#xff08;BSD许可…

第二次上机作业 大连理工大学

某百货公司6月份各天的销售数据如下:【数据】 x = c(257,276,301,252,238,310,246,236,265,278,271,292,261,281,301,274,267,280,291,258,272,284,268,303,273,263,301,249,269,295)计算该百货公司日销售额的中位数、四分位数和众数 median(x)# 中位数 quantile(x) # 四分位…

详解TCP为什么不能是两次握手

三次握手的过程 注意不要遗漏全双工下两缓存&#xff08;读/写缓存&#xff09;的分配和变量的分配。 CLOSED&#xff1a;表示初始状态。 LISTEN&#xff1a;该状态表示服务器端的某个SOCKET处于监听状态&#xff0c;可以接受连接。 SYN_SENT&#xff1a;这个状态与SYN_RCVD遥…