服务部署:使用docker部署开源Xxl-Job任务调度平台项目

一、项目构建

1、从gitee上下载源码:xxl-job: 一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。https://gitee.com/xuxueli0323/xxl-job 2、本地使用ieda修改配置并构建启动运行

3、将项目文件压缩上传虚拟机上

4、在虚拟机上解压到某一路径

5、使用docker部署

二、部署

步骤一:编写 Dockerfile

  1. xxl-job-admin 编写 Dockerfile

    xxl-job/xxl-job-admin 目录下创建一个名为 Dockerfile 的文件,并添加以下内容:

    复制代码
    FROM openjdk:8-jre-alpine
    VOLUME /tmp
    COPY target/xxl-job-admin-2.3.0.jar app.jar
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
  2. xxl-job-executor-sample 编写 Dockerfile

    xxl-job/xxl-job-executor-sample 目录下创建一个名为 Dockerfile 的文件,并添加以下内容:

    复制代码
    FROM openjdk:8-jre-alpine
    VOLUME /tmp
    COPY target/xxl-job-executor-sample-2.3.0.jar app.jar
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

步骤二:构建 Docker 镜像

  1. 构建 xxl-job-admin 镜像

    xxl-job/xxl-job-admin 目录下运行以下命令:

    复制代码
    docker build -t xxl-job-admin:2.3.0 .
  2. 构建 xxl-job-executor-sample 镜像

    xxl-job/xxl-job-executor-sample 目录下运行以下命令:

    复制代码
    docker build -t xxl-job-executor-sample:2.3.0 .

步骤三:启动 MySQL 容器

  1. 启动 MySQL(虚拟机主机安装的mysql)

  2. 拉取并启动mysql容器(可选)

    复制代码
    docker run --name xxl-job-mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=xxl_job -e MYSQL_USER=xxl_job -e MYSQL_PASSWORD=xxl_job -p 3306:3306 -d mysql:5.7
  3. 等待 MySQL 容器启动完成

    可以通过以下命令查看 MySQL 容器的日志,确认 MySQL 服务已经启动:

    复制代码
    docker logs -f xxl-job-mysql

步骤四:启动 Xxl-Job Admin 容器

  1. 启动 xxl-job-admin 容器

    复制代码
    docker run -d \
    -e PARAMS="--spring.datasource.url=jdbc:mysql://youserverip:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai \
    --spring.datasource.username=root \
    --spring.datasource.password=root \
    --spring.datasource.driver-class-name=com.mysql.jdbc.Driver" \
    -p  8080:8080 \
    --name my-xxl-job-admin-2.3.0  \
    -d xxj-job-admin-v1.0
    
    
    ///youserverip:是你的虚拟机主机IP
  2. 检查 xxl-job-admin 容器状态

    复制代码
    docker logs -f xxl-job-admin

步骤五:启动 Xxl-Job Executor 容器

  1. 启动 xxl-job-executor-sample 容器

    复制代码
    docker run --name xxl-job-executor 
    -e XXL_JOB_ADMIN_ADDRESSES=http://xxl-job-admin:8080/xxl-job-admin 
    -e XXL_JOB_EXECUTOR_APPNAME=xxl-job-executor 
    -e XXL_JOB_EXECUTOR_IP=127.0.0.1 
    -e XXL_JOB_EXECUTOR_PORT=9999 -p 9999:9999 
    --link xxl-job-admin:xxl-job-admin -d xxl-job-executor-sample:2.3.0
  2. 检查 xxl-job-executor 容器状态

    复制代码
    docker logs -f xxl-job-executor

步骤六:访问 Xxl-Job 管理界面

  1. 打开浏览器,访问 http://localhost:8080/xxl-job-admin
  2. 默认用户名和密码是 admin/admin

步骤七:配置执行器

  1. 登录到 Xxl-Job 管理界面后,导航到"执行器管理"页面。
  2. 添加一个新的执行器,名称可以随意填写,例如 xxl-job-executor,地址填写 http://xxl-job-executor:9999/xxl-job-executor.

步骤八:测试任务

  1. 导航到"任务管理"页面,添加一个新的任务。
  2. 配置任务的基本信息和调度策略,然后保存。
  3. 手动触发任务,查看日志确认任务是否成功执行。

清理资源

如果不再需要这些服务,可以使用以下命令停止并删除容器:

复制代码
docker stop xxl-job-executor xxl-job-admin xxl-job-mysql
docker rm xxl-job-executor xxl-job-admin xxl-job-mysql

这样,你就完成了使用 Docker 部署本地构建的 Xxl-Job 任务调度平台的过程。

相关推荐
CTRA王大大1 小时前
【golang】制作linux环境+golang的Dockerfile | 如何下载golang镜像源
linux·开发语言·docker·golang
小张程序人生1 小时前
《VMware 安装 CentOS 7.9 虚拟机详细教程(含图解步骤)》
linux·centos
分布式存储与RustFS3 小时前
RustFS的边缘计算优化方案在5G MEC场景下的实测数据如何?
人工智能·5g·开源·边缘计算·rustfs
泡沫冰@3 小时前
管理 SELinux 安全性
linux
LinXunFeng4 小时前
Flutter - 详情页初始锚点与优化
前端·flutter·开源
展信佳_daydayup4 小时前
03 基础篇-润和开发板连接过程
linux·开源·嵌入式
两张不够花4 小时前
Shell脚本源码安装Redis、MySQL、Mongodb、PostgreSQL(无报错版)
linux·数据库·redis·mysql·mongodb·postgresql·云计算
算家计算5 小时前
一句话,AI帮你P图!Qwen-Image-Edit本地部署教程:能转能改能加字
人工智能·开源·aigc
tan77º5 小时前
【Linux网络编程】分布式Json-RPC框架 - 项目设计
linux·服务器·网络·分布式·网络协议·rpc·json
Ray Song5 小时前
【Linux】 wget、curl 用法区别
linux·运维·服务器·curl·wget