docker部署xxl-job分三步:准备mysql数据库并初始化sql脚本;拉取xuxueli/xxl-job-admin镜像并运行容器,配置数据库连接、accesstoken及端口映射;启动后访问http://宿主机ip:8080/xxl-job-admin,用admin/123456登录并配置执行器。

用 Docker 部署 XXL-JOB 主要分三步:准备数据库、构建或拉取镜像、启动容器并配置连接。核心是让调度中心(xxl-job-admin)能稳定访问 MySQL,并对外暴露 Web 界面端口。
准备 MySQL 数据库
XXL-JOB 依赖 MySQL 存储任务元数据,必须提前初始化:
- 创建数据库 xxl_job,字符集设为
utf8mb4; - 执行官方 SQL 脚本(路径如
doc/db/tables_xxl_job.sql),建表并插入基础配置; - 推荐用 Docker 启动 MySQL,例如:
docker run -d --name mysql-xxl -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -v ./mysql-data:/var/lib/mysql mysql:8.0; - 确保宿主机或容器网络能互通,比如 xxl-job 容器需能通过
172.17.0.1:3306或具体 IP 访问 MySQL。
获取并运行 xxl-job-admin 镜像
有两种常用方式,推荐直接拉取官方镜像,省去手动打包环节:
- 拉取镜像:
docker pull xuxueli/xxl-job-admin:2.4.0(版本可按需更换); - 运行容器,关键参数包括数据库连接、访问令牌和端口映射:
docker run -d \<br> --name xxl-job \<br> -p 8080:8080 \<br> -e PARAMS="--spring.datasource.url=jdbc:mysql://192.168.10.106:3306/xxl_job?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 \<br> --spring.datasource.username=root \<br> --spring.datasource.password=123456 \<br> --xxl.job.accessToken=xxl-job" \<br> -v ./xxl-job-logs:/data/applogs \<br> xuxueli/xxl-job-admin:2.4.0
; - 注意:
PARAMS中的 URL 地址需替换为真实 MySQL 地址(不能写localhost,容器内解析不到宿主机); - 挂载
/data/applogs可持久化日志,方便排查问题。
验证与后续接入
容器启动后,立刻检查是否就绪:
- 执行
docker logs xxl-job,确认无数据库连接失败或启动异常; - 浏览器访问
http://宿主机IP:8080/xxl-job-admin,默认账号密码为admin/123456; - 登录后进入“执行器管理”,添加自己的执行器(如 Spring Boot 项目),填写
AppName和地址; - 执行器需引入
xxl-job-core依赖,并配置xxl.job.admin.address指向上述地址(如http://宿主机IP:8080/xxl-job-admin)。
整个过程不依赖本地 Java 环境,镜像已封装好 JDK 8 和启动逻辑,只要网络通、配置对,几分钟就能跑起来。











