问题背景:
新项目xxl-job定时任务无法执行,调度结果显示“失败”。

查看“调度备注”调度服务xxl-job-admin容器的ip与执行服务manager容器的不在一个网段;
通过 docker inspect xxl-job-admin检查xxl-job容器配置信息

通过 docker inspect manager-service检查manager容器配置信息
以上,可以看出2个容器配置的network不一样导致ip网段不一致;
因此,为保障2个服务的网段一致,需要修改xxl-job 的网络配置;(manager服务的ip网段172.17.0.7是docker容器默认的网段)。
备注1:查看所有的网络 docker network list

备注2:可以通过ifconfig可以查看网卡信息

1、停止job容器
docker stop xxl-job-admin
2、将job容器关联到跟manager容器一致的网络bridge;
docker network connect bridge xxl-job-admin

如下图已关联:

3、解除容器绑定的网络 网络名称xx_job_default 容器名称xxl-job-admin
docker network disconnect xx_job_default xxl-job-admin
4、重启xxl-job服务。
5、再次执行 docker inspect xxl-job-admin检查配置信息,容器ip已修改跟manager一个网段。

修改后,可以正常执行定时任务,问题解决。


文章描述了在Docker环境下,xxl-job定时任务执行失败的原因是调度服务和执行服务的容器处于不同网段。通过停止job容器,将其连接到与manager服务相同的bridge网络,解除原有网络绑定,然后重启服务,成功解决了容器间通信问题,使得定时任务能正常执行。
4920

被折叠的 条评论
为什么被折叠?



