Skip to content

XXL-JOB

先决条件:需要 MySQL 数据库

# 先安装 MySQL(如果已经安装可忽略)
docker run -d \
  --name mysql-xxljob \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=root \
  -e MYSQL_DATABASE=xxl_job \
  mysql:8.0

# 等待 MySQL 启动后初始化数据库(需下载SQL脚本)
# 从 https://github.com/xuxueli/xxl-job 获取SQL文件

安装 XXL-JOB Admin

# 拉取官方镜像(社区版)
docker pull xuxueli/xxl-job-admin:2.4.0

# 运行容器
docker run -d \
  --name xxl-job-admin \
  -p 8080:8080 \
  -e PARAMS="--spring.datasource.url=jdbc:mysql://mysql-xxljob:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai \
  --spring.datasource.username=root \
  --spring.datasource.password=root" \
  --link mysql-xxljob:mysql-xxljob \
  xuxueli/xxl-job-admin:2.4.0

访问服务

  • Elasticsearch: http://localhost:9200
  • XXL-JOB Admin: http://localhost:8080/xxl-job-admin (默认账号:admin/123456)

示例的启动命令

docker run -d \
  --name xxl-job-admin \
  -p 8080:8080 \
  -e PARAMS="--spring.datasource.url=jdbc:mysql://192.168.31.196:3307/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai \
  --spring.datasource.username=root \
  --spring.datasource.password=lq123456" \
  --link mysql8:mysql8 \
  xuxueli/xxl-job-admin:2.4.0

端口分工​

端口组件作用是否必须暴露
8080​Admin​管理后台(Web界面),用于任务配置和监控是(需开放)
9999​Executor​执行器服务端,负责接收Admin下发的任务并执行,同时上报日志和心跳视情况而定

部署 XXL-JOB Executor(执行器)​