Docker离线安装部署xxl-job流程

一、部署背景与环境准备

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

五、访问与配置


六、常用运维命令

bash 复制代码
docker-compose ps
docker-compose restart
docker-compose stop
docker-compose down
相关推荐
编程序的员17 小时前
使用OpenTelemetry来监控GoLang应用
运维·golang·monitoring·apm·opentelemetry
羑悻的小杀马特18 小时前
把随身WiFi改成网盘聚合器:中兴F50挂载本地存储+夸克网盘实战
运维·服务器·人工智能·网盘·openlist
Yana.nice1 天前
Linux 只保留 30 天内日志(find命令删除日志文件)
linux·运维·chrome
2601_960567961 天前
电商套图自动化效率的工程量化分析——从逐张生成到批量套图的架构演进
运维·架构·自动化
吳所畏惧1 天前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
张忠琳1 天前
【NVIDIA】 NVIDIA Container Toolkit v1.19.1 — OCI 模块超深度分析之三
云原生·容器·架构·kubernetes·nvidia
HiDev_1 天前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
Zhang~Ling1 天前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
爱写代码的森1 天前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
Elastic 中国社区官方博客1 天前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana