使用 docker 部署 xxl-job-admin 调度中心

初始化调度中心数据库

  • 需提前部署MySQL,可参考使用 docker 部署 mysql

  • 指定版本的源代码仓库中,执行/xxl-job/doc/db/tables_xxl_job.sql目录下的SQL脚本,推荐在执行官方SQL脚本后,执行更新注册组表标题字段字符长度SQL(原字符长度较短):

    1
    ALTER TABLE `xxl_job_group` MODIFY title VARCHAR(128);

使用官方镜像部署

  • 拉取镜像,如2.4.0版本

    1
    docker pull xuxueli/xxl-job-admin:2.4.0
  • 运行容器

    1
    docker run --name xxl-job-admin --restart=always -d -p 18081:8080 -e PARAMS="--spring.datasource.url=jdbc:mysql://{mysql_domain}/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=${mysql_username} --spring.datasource.password=${mysql_pwd} --xxl.job.accessToken=CsjnD0xFU4JfDjQR23UB7YxGoYVcaRx" -v /data/xxl-job/logs:/data/applogs xuxueli/xxl-job-admin:2.4.0

    环境变量PARAMSxxl-job-adminproperties配置,值为--{key1}=value1 --{key2}=value2形式。必须配置调度中心数据库连接方式spring.datasource.urlspring.datasource.username以及spring.datasource.password;出于安全考虑,推荐使用随机生成的复杂密码作为访问token,此时需配置xxl.job.accessToken

使用自定义镜像部署(支持执行器组的动态更新)

  • 拉取镜像,如2.4.0版本

    1
    docker pull garden12138/xxl-job-admin:2.4.0
  • 运行容器

    1
    docker run --name xxl-job-admin --restart=always -d -p 18081:8080 -e PARAMS="--spring.datasource.url=jdbc:mysql://{mysql_domain}/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=${mysql_username} --spring.datasource.password=${mysql_pwd} --xxl.job.accessToken=CsjnD0xFU4JfDjQR23UB7YxGoYVcaRx" -v /data/xxl-job/logs:/data/applogs garden12138/xxl-job-admin:2.4.0

验证是否部署成功

  • 使用默认账号admin密码123456登录可访问地址http://{domain}/xxl-job-admin,如http://114.132.78.39:18081/xxl-job-admin

  • 出于安全考虑,建议在登录成功后修改密码。

参考文献