mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6mobile wallpaper 7mobile wallpaper 8mobile wallpaper 9mobile wallpaper 10mobile wallpaper 11mobile wallpaper 12
402 字
1 分钟
Docker部署的xxl-job执行本地任务时无法连接执行器的解决方案
2025-08-09

一、问题简述#

我是用部署的xxl-job,然后用在了宿主机的本地项目上。

执行器我选的是自动,所以执行器的地址也就和本地项目上的有关:

xxl-job:
access-token: Yilena
admin:
addresses: http://192.168.xx.xx:9001/xxl-job-admin
executor:
application-name: test-executor
log-retention-days: 30
port: 19999

但是手动执行任务时一直失败:

一番查阅后找到了具体原因:

时会给其创建一个虚拟网卡,该IP属于内部网段,是无法被外部服务所访问的。而执行器自动注册的话默认是到这个网段里面去寻找端口的,因跨网段不可达,所以返回连接超时报错。

二、解决方案#

(一)手动更改#

既然无法访问虚拟网卡,那我们直接手动配置为宿主机的IP就好了,宿主机的网段是公网可路由地址,可以被外部服务所访问到,可以在配置宿主机IP或者直接在xxl-job的后台网页上手动配置执行器的IP。

xxl-job:
access-token: Yilena
admin:
addresses: http://192.168.xx.xx:9001/xxl-job-admin
executor:
ip: 192.168.xx.xx(宿主机IP)
application-name: test-executor
log-retention-days: 30
port: 19999

(二)更改Docker网段#

在启动Dokcer容器时指定网络命名空间:—network=host

让该容器共享宿主机的网段即可。

注意宿主机的ip如果设置了自动获取的话,那隔一段时间就会发生变化,请定期更改执行器的ip!


如果还有其他问题,请在评论区告诉我!


原文链接: Docker部署的xxl-job执行本地任务时无法连接执行器的解决方案 作者: Yilena

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Docker部署的xxl-job执行本地任务时无法连接执行器的解决方案
https://blog.csdn.net/2401_88959292/article/details/149883341?spm=1001.2014.3001.5501
作者
Yilena
发布于
2025-08-09
许可协议
CC BY 4.0

部分信息可能已经过时

相关文章 智能推荐
1
Sharding-JDBC 定时任务 SQL 无响应的解决方案
故障排查 本文针对在使用Sharding-JDBC进行分库分表时,定时任务中SQL执行无响应且无明显报错的问题进行了深度排查与解决。通过调整日志级别,发现问题根源在于Spring定时任务默认使用的`ScheduledThreadPoolExecutor`线程池未自动设置上下文类加载器,导致Sharding-JDBC在初始化配置时抛出空指针异常并阻塞线程。文章给出了简洁有效的解决方案:在定时任务执行逻辑起始处,通过`Thread.currentThread().setContextClassLoader()`显式设置当前类的类加载器,从而成功恢复Sharding-JDBC的正常运行与SQL输出。
2
通过mysqldump进行数据迁移时权限不足的解决方案
故障排查 本文针对使用mysqldump进行MySQL数据迁移时遇到的“Access denied”权限不足报错(错误码1227)提供了有效的解决方案。通过分析报错日志,指出问题根源在于导出的SQL文件中包含了与GTID(全局事务标识)相关的语句,而逻辑导入通常无需参与GTID复制链路。文章给出了在生成SQL文件时添加`--set-gtid-purged=OFF`参数的解决办法,并额外提醒了DataGrip默认勾选`lock tables`可能导致的业务阻塞风险,建议在InnoDB引擎下使用`--single-transaction`以获取一致性快照,确保迁移过程平稳安全。
3
FastJson日期类无法解析的解决方案
故障排查 本文针对在Spring Boot项目中引入FastJson2依赖后,实体类日期字段(如Date类型)解析失败并抛出MethodArgumentNotValidException异常的问题,进行了深入分析。指出问题根源在于Spring MVC默认的日期转换器覆盖了FastJson的配置,导致非JSON请求体与JSON请求体的转换逻辑分离。文章提供了两种有效的解决方案:一是通过在字段上添加`@DateTimeFormat`注解指定解析格式;二是通过实现`WebMvcConfigurer`接口全局配置日期转换器(DateFormatter),以统一处理日期格式的解析与格式化。
4
Knife4j未配置却需要登录认证的解决方案
故障排查 本文针对在Spring Boot项目中使用Knife4j时,未配置登录认证却意外弹出登录页面的问题提供了解决方案。通过排查发现,该登录拦截并非来自Knife4j自身配置,而是由项目中引入的Spring Security框架触发。文章给出了两种解决思路:一是直接移除不必要的Spring Security依赖;二是在保留Security框架的前提下,通过配置`SecurityFilterChain`,将Knife4j的核心资源路径(如`/doc.html`、`/v3/api-docs/**`等)加入白名单予以放行,从而完美解决接口文档访问受限的问题。
5
WebSocket连接失败解决方案(前后端联调场景)
故障排查 本文针对前后端联调场景中常见的WebSocket连接失败问题提供了实用的排查与解决方案。当使用Apifox等工具可正常连接,而前端代码请求失败时,文章指出首要原因是前端连接地址未包含项目上下文路径,需确保前后端路径格式严格一致(如`ws://localhost:80/{项目名称}/webSocket/1`)。此外,文章还特别提醒开发者注意Spring Boot版本差异导致的依赖包冲突问题:Spring Boot 3.x及以上版本需使用`jakarta.websocket`,而2.x及以下版本则对应`javax.websocket`,为解决顽固的连接异常提供了关键思路。

目录

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00