一、部署背景与环境准备
1.1 部署背景
离线环境部署 XXL-JOB 的核心难点在于:
- Docker 与 docker-compose 无法在线安装
- Docker 镜像需提前准备并离线加载
- 数据库初始化必须可控、可复现
1.2 离线安装包说明
安装包: xxl-job、docker、dockerCompose、mysql离线安装包
|-----------------------------|----------------------|
| 文件名 | 说明 |
| dbInit.sql | XXL-JOB 数据库初始化脚本 |
| docker-26.1.4.tgz | Docker 26.1.4 离线安装包 |
| docker-compose-linux-x86_64 | docker-compose 二进制文件 |
| docker-compose.yml | 服务编排文件 |
| mysql_8.0.36.tar | MySQL 8.0.36 镜像 |
| xxl-job-admin_3.3.1.tar | XXL-JOB Admin 镜像 |
1.3 环境要求
- Linux(CentOS 7+ / Ubuntu 18.04+)
- 内存 ≥ 2GB
- 磁盘 ≥ 10GB
- 开放端口:8090、3306
bash
uname -a
free -h
df -h
二、Docker 离线安装
2.1 解压部署包
bash
cd /opt
tar -zxvf xxl-job-install.tar.gz
cd xxl-job-install
ls -l

2.2 安装 Docker
bash
tar -zxvf docker-26.1.4.tgz
cp -r docker/* /usr/bin/
创建 systemd 服务:
bash
cat > /etc/systemd/system/docker.service << EOF
[Unit]
Description=Docker Engine
After=network.target
[Service]
ExecStart=/usr/bin/dockerd
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
启动 Docker:
bash
systemctl daemon-reload
systemctl start docker
systemctl enable docker
docker --version

2.3 安装 docker-compose
bash
cp docker-compose-linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version

三、加载镜像与数据库初始化
3.1 加载离线镜像
bash
docker load -i mysql_8.0.36.tar
docker load -i xxl-job-admin_3.3.1.tar
docker images

3.2 docker-compose.yml 示例
bash
services:
mysql:
image: mysql:8.0.36
container_name: mysql8
environment:
MYSQL_ROOT_PASSWORD: highershine
ports:
- "3306:3306"
volumes:
- ./dbInit.sql:/docker-entrypoint-initdb.d/dbInit.sql:ro
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
retries: 5
xxl-job-admin:
image: xuxueli/xxl-job-admin:3.3.1
container_name: xxl-job
depends_on:
mysql:
condition: service_healthy
ports:
- "8090:8080"
volumes:
- /usr/local/src/docker/xxl-job:/data/applogs
environment:
PARAMS: >
--spring.datasource.url=jdbc:mysql://mysql:3306/xxl_job?Unicode=true&characterEncoding=UTF-8
--spring.datasource.username=root
--spring.datasource.password=123456
--xxl.job.accessToken=default_token
privileged: true
3.3 初始化数据库
bash
docker-compose up -d mysql
sleep 40
docker exec -it mysql8 mysql -uroot -p123456
sql
SHOW DATABASES;
USE xxl_job;
SHOW TABLES;
四、启动 XXL-JOB Admin
bash
docker-compose up -d
docker-compose ps
docker-compose logs -f xxl-job-admin

五、访问与配置
- 地址:http://服务器IP:8090/xxl-job-admin
- 默认账号:admin / 123456
建议: - 修改默认密码
- 创建执行器
- 调整调度线程池
六、常用运维命令
bash
docker-compose ps
docker-compose restart
docker-compose stop
docker-compose down