Docker Compose 和 XXL-Job 简介
Docker Compose
[Docker Compose]( 是一个用于定义和运行多个 Docker 容器的工具。它使用 YAML 文件来配置应用程序的服务、网络和卷等。通过 Docker Compose,我们可以轻松地构建、启动和停止由多个容器组成的应用程序。
XXL-Job
[XXL-Job]( 是一个分布式任务调度平台,由徐学礼开发和维护。它提供了强大的任务调度能力,可用于实现各种定时任务、异步任务和分布式任务等。XXL-Job 提供了可视化的任务管理和监控界面,方便开发人员进行任务的配置和管理。
Docker Compose 配置示例
以下是一个使用 Docker Compose 配置 XXL-Job 的示例:
version: '3.8' # 使用的 Docker Compose 版本
services:
xxl-job-admin:
image: xuxueli/xxl-job-admin:2.3.0
ports:
- 8080:8080 # 将容器的 8080 端口映射到主机的 8080 端口
environment:
- PARAMS_ENV_SPRING_DATASOURCE_URL=jdbc:mysql://mysql-server:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8 # 设置数据库连接信息
- PARAMS_ENV_SPRING_DATASOURCE_USERNAME=root # 设置数据库用户名
- PARAMS_ENV_SPRING_DATASOURCE_PASSWORD=root123456 # 设置数据库密码
- PARAMS_ENV_SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver # 设置数据库驱动类名
- PARAMS_ENV_XXL_JOB_ACCESS_TOKEN=123456 # 设置访问令牌
depends_on:
- mysql-server # 依赖 mysql-server 服务
mysql-server:
image: mysql:8.0
restart: always
ports:
- 3306:3306 # 将容器的 3306 端口映射到主机的 3306 端口
environment:
- MYSQL_ROOT_PASSWORD=root123456 # 设置 root 用户的密码
- MYSQL_DATABASE=xxl_job # 设置要创建的数据库
volumes:
- ./mysql-data:/var/lib/mysql # 持久化存储数据库数据
上述配置文件定义了两个服务:xxl-job-admin
和 mysql-server
。xxl-job-admin
服务使用 xuxueli/xxl-job-admin:2.3.0
镜像,将容器的 8080 端口映射到主机的 8080 端口,并设置了环境变量来配置数据库连接信息和访问令牌。mysql-server
服务使用 mysql:8.0
镜像,将容器的 3306 端口映射到主机的 3306 端口,并设置了环境变量来配置数据库密码和要创建的数据库,同时使用卷来持久化存储数据库数据。
使用 Docker Compose 启动 XXL-Job
要使用 Docker Compose 启动 XXL-Job,只需在配置文件所在的目录中执行以下命令:
docker-compose up
Docker Compose 将会根据配置文件创建并启动指定的容器。在启动过程中,你可以在终端中看到容器的输出日志,以及 XXL-Job Admin 的访问地址。一旦容器启动成功,你就可以通过访问 http://localhost:8080/xxl-job-admin
来打开 XXL-Job Admin 界面。
Docker Compose 配置与 XXL-Job 的配合使用
使用 Docker Compose 配置和启动 XXL-Job 的优点是可以将环境配置、依赖管理和服务启动统一化,方便开发和部署。通过 Docker Compose,我们可以轻松地在任何支持 Docker 的环境中部署 XXL-Job,并保证配置的一致性。
除了 XXL-Job Admin 服务,XXL-Job 还包含了执行器(Executor)服务,用于执行具体的任务。如果需要使用 Executor 服务,只需在配置文件中