使用docker部署xxl-job

基础配置

先从github中拉下xxl-job的代码
地址:GitHub - xuxueli/xxl-job: A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)

项目整体架构

在xxl-job-admin中的application.properties文件修改相关配置

### 端口号 改为自己需要的端口号,默认为8080

server.port=8888

### 调度中心JDBC链接:链接地址请保持和 2.1章节 所创建的调度数据库的地址一致
spring.datasource.url=jdbc:mysql://数据库IP地址:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root_pwd
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
### 报警邮箱
spring.mail.host=smtp.qq.com
spring.mail.port=25
spring.mail.username=xxx@qq.com
spring.mail.password=xxx
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
### 调度中心通讯TOKEN [选填]:非空时启用;
xxl.job.accessToken=
### 调度中心国际化配置 [必填]: 默认为 "zh_CN"/中文简体, 可选范围为 "zh_CN"/中文简体, "zh_TC"/中文繁体 and "en"/英文;
xxl.job.i18n=zh_CN
## 调度线程池最大线程配置【必填】
xxl.job.triggerpool.fast.max=200
xxl.job.triggerpool.slow.max=100
### 调度中心日志表数据保存天数 [必填]:过期日志自动清理;限制大于等于7时生效,否则, 如-1,关闭自动清理功能;
xxl.job.logretentiondays=30

 配置完成后,运行sql脚本,初始化数据库:

sql脚本在:/xxl-job/doc/db/tables_xxl_job.sq

本地启动测试是否正常

调度中心访问地址:http://localhost:8080/xxl-job-admin (该地址执行器将会使用到,作为回调地址)

默认登录账号 “admin/123456”, 登录后运行界面如下图所示。

 到此处,你已完成基本配置

docker部署

官方部署方式:分布式任务调度平台XXL-JOB

 因为我是在本地修改的,接下来的步骤就是在docker中创建镜像启动容器了

问题:首先是以前就使用docker官方的下载地址,但最近不能用了,于是改成了使用阿里云加速:

 阿里云官网加速地址:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

修改的文件为:/etc/docker/deamon.json

 然后将自己本地的xxl-job文件通过mvn package打包,将整个项目上传到linux服务器上(我使用的是Xftp上传的,看个人习惯)

然后进入xxl-job中的xxl-job-admin项目,使用docker创建镜像的命令

我将该项目放到了opt文件下,整体流程如下

进入项目:cd /opt/xxl-job/xxl-job-admin

创建镜像:docker build -t xxl-job-admin .

查看镜像是否创建成功:docker images

启动容器,映射端口号,挂载数据:docker run -p 8888:8888 -v/tmp:/data/applogs --name xxl-job-admin -d xxl-job-admin

然后访问地址就可以了: http://ip地址:8888/xxl-job-admin 

备注:一组简单的doker部署命令

docker rmi xxl-job-admin
docker build -t xxl-job-admin .
docker stop xxl-job-admin
docker rm -f xxl-job-admin
docker run -p 8888:8888 -v /tmp:/data/applogs --name xxl-job-admin -d xxl-job-admin
因为该部署命令文件和Dockerfile在同一级,所以构建镜像时不需要指定文件地址,如果不再同一级,则需要通过-f在指定Dockerfile的位置
子目录:docker build -f xxx/Dockerfile.custom -t xxl-job-admin .
绝对路径:docker build -f /xxx/xxx/Dockerfile.custom -t xxl-job-admin .

  • 16
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以通过以下步骤来使用 Docker 部署 xxl-job: 1. 首先,确保你的机器上已经安装了 DockerDocker Compose。如果没有安装,可以按照官方文档进行安装。 2. 创建一个文件夹,用于存放 xxl-job 的相关配置和数据。进入该文件夹,创建一个名为 `docker-compose.yml` 的文件,并在其中编写以下内容: ```yaml version: '3' services: xxl-job-admin: image: xuxueli/xxl-job-admin:2.2.0 ports: - 8080:8080 volumes: - ./data:/data/applogs environment: - PARAMS=-Dspring.datasource.url=jdbc:mysql://mysql_host:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8 - PARAMS=-Dspring.datasource.username=root - PARAMS=-Dspring.datasource.password=root - PARAMS=-Dxxl.job.admin.addresses=http://localhost:8080/xxl-job-admin xxl-job-executor-sample-springboot: image: xuxueli/xxl-job-executor-sample-springboot:2.2.0 environment: - PARAMS=-Dspring.datasource.url=jdbc:mysql://mysql_host:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8 - PARAMS=-Dspring.datasource.username=root - PARAMS=-Dspring.datasource.password=root - PARAMS=-Dxxl.job.admin.addresses=http://xxl-job-admin:8080/xxl-job-admin ``` 注意:将 `mysql_host` 替换为你的 MySQL 主机地址。 3. 在该文件夹中创建一个名为 `data` 的子文件夹,用于存放 xxl-job 的日志文件。 4. 打开终端,进入到存放配置文件的文件夹,执行以下命令启动 xxl-job: ```bash docker-compose up -d ``` 5. 等待一段时间,xxl-job 将会在 Docker 容器中启动。你可以通过访问 `http://localhost:8080/xxl-job-admin` 来访问 xxl-job 的管理界面。 这样就完成了使用 Docker 部署 xxl-job 的过程。你可以根据需要进行进一步的配置和使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值