• SrpingBoot 集成 xxl-job 部署在 Docker 上碰到的坑


     

    原因  xxxl.job.ip 为空,默认给了 docker 的ip ,xxl-job-admin 无法回调到该地址,

    Docker run 的时候,需要给定参数

    "-Dxxl.job.executor.ip=${xxl_job_executor_ip}","-Dxxl.job.executor.address=${xxl_job_executor_ip}"

    如果ip、address 都配了,就会出现下面问题,端口没了。

      private void initEmbedServer(String address, String ip, int port, String appname, String accessToken) throws Exception {
    
            // fill ip port
            port = port>0?port: NetUtil.findAvailablePort(9999);
            ip = (ip!=null&&ip.trim().length()>0)?ip: IpUtil.getIp();
    
            // generate address
            if (address==null || address.trim().length()==0) {
                String ip_port_address = IpUtil.getIpPort(ip, port);   // registry-address:default use address to registry , otherwise use ip:port if address is null
                address = "http://{ip_port}/".replace("{ip_port}", ip_port_address);
            }
    
            // start
            embedServer = new EmbedServer();
            embedServer.start(address, port, appname, accessToken);
        }

    解决如下:

    将 -Dxxl.job.executor.ip=$LOCALHOST_IP  暴露出来,docker run 的时候更新

     

  • 相关阅读:
    编写SASS代码
    表单
    动画和变形
    图片多媒体
    基本概念
    弹性布局
    HTML和CSS概述
    页面的制作过程
    盒子定位体系
    css盒子
  • 原文地址:https://www.cnblogs.com/vipsoft/p/14790683.html
Copyright © 2020-2023  润新知