XXL JOB DockerCompose部署
官网给的方式是 Docker 命令启动,但是用起来太麻烦了,所以用DockerCompose 简化部署
创建数据库,导入 SQL
SQL 脚本位置为/xxl-job/doc/db/tables_xxl_job.sql
https://raw.githubusercontent.com/xuxueli/xxl-job/refs/heads/master/doc/db/tables_xxl_job.sql
编写 DockerCompose
version: '3.7'
services:
xxl-job:
image: registry.cn-shanghai.aliyuncs.com/frbbs/xxl-job-admin:2.4.1
container_name: xxl-job-admin
restart: always
ports:
- "8080:8080"
volumes:
- ./application.yml:/config/application.yml:ro
- /data/logs/xxl-job:/data/applogs
为了方便配置的修改,将配置独立成application.yml 了
编写 application.yml 配置
spring:
datasource:
url: jdbc:mysql://xxxx:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
username: xxl_job
password: xxx
driver-class-name: com.mysql.jdbc.Driver
xxl:
job:
accessToken: xxxx
调度中心配置内容说明:
### 调度中心JDBC链接:链接地址请保持和 2.1章节 所创建的调度数据库的地址一致
spring.datasource.url=jdbc:mysql://127.0.0.1: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
启动
docker-compose up -d && docker-compose logs -f
xxl-job-admin |
xxl-job-admin | . ____ _ __ _ _
xxl-job-admin | /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
xxl-job-admin | ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
xxl-job-admin | \\/ ___)| |_)| | | | | || (_| | ) ) ) )
xxl-job-admin | ' |____| .__|_| |_|_| |_\__, | / / / /
xxl-job-admin | =========|_|==============|___/=/_/_/_/
xxl-job-admin | :: Spring Boot :: (v2.7.18)
xxl-job-admin |
xxl-job-admin | 16:59:05.886 logback [main] INFO c.x.job.admin.XxlJobAdminApplication - Starting XxlJobAdminApplication using Java 1.8.0_332 on 1a5e48b76b08 with PID 7 (/app.jar started by root in /)
xxl-job-admin | 16:59:05.888 logback [main] INFO c.x.job.admin.XxlJobAdminApplication - No active profile set, falling back to 1 default profile: "default"
xxl-job-admin | 16:59:06.716 logback [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
xxl-job-admin | 16:59:06.720 logback [main] INFO o.a.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"]
xxl-job-admin | 16:59:06.722 logback [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
xxl-job-admin | 16:59:06.722 logback [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.83]
xxl-job-admin | 16:59:06.802 logback [main] INFO o.a.c.c.C.[.[.[/xxl-job-admin] - Initializing Spring embedded WebApplicationContext
xxl-job-admin | 16:59:06.802 logback [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 749 ms
xxl-job-admin | Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
xxl-job-admin | 16:59:07.157 logback [main] INFO c.x.j.a.c.scheduler.XxlJobScheduler - >>>>>>>>> init xxl-job admin success.
xxl-job-admin | 16:59:07.168 logback [xxl-job, admin JobFailMonitorHelper] INFO com.zaxxer.hikari.HikariDataSource - HikariCP - Starting...
xxl-job-admin | 16:59:07.170 logback [xxl-job, admin JobFailMonitorHelper] WARN c.z.hikari.util.DriverDataSource - Registered driver with driverClassName=com.mysql.jdbc.Driver was not found, trying direct instantiation.
xxl-job-admin | 16:59:07.288 logback [main] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page template: index
xxl-job-admin | 16:59:07.581 logback [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 1 endpoint(s) beneath base path '/actuator'
xxl-job-admin | 16:59:07.594 logback [main] INFO o.a.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"]
xxl-job-admin | 16:59:07.605 logback [main] INFO o.a.c.c.C.[.[.[/xxl-job-admin] - Initializing Spring DispatcherServlet 'dispatcherServlet'
xxl-job-admin | 16:59:07.606 logback [main] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
xxl-job-admin | 16:59:07.607 logback [main] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
xxl-job-admin | 16:59:07.607 logback [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '/xxl-job-admin'
xxl-job-admin | 16:59:07.615 logback [main] INFO c.x.job.admin.XxlJobAdminApplication - Started XxlJobAdminApplication in 1.973 seconds (JVM running for 2.393)
xxl-job-admin | 16:59:07.692 logback [xxl-job, admin JobFailMonitorHelper] INFO com.zaxxer.hikari.HikariDataSource - HikariCP - Start completed.
xxl-job-admin | 16:59:12.000 logback [xxl-job, admin JobScheduleHelper#scheduleThread] INFO c.x.j.a.c.thread.JobScheduleHelper - >>>>>>>>> init xxl-job admin scheduler success.
xxl-job-admin | 16:59:41.367 logback [http-nio-8080-exec-1] INFO o.a.tomcat.util.http.parser.Cookie - A cookie header was received [Hm_lvt_c081e53834443c7768dc0a2f554ab0b9=1728542906,1729482490,1730871693,1731034126;] that contained an invalid cookie. That cookie will be ignored.
如果没有报错的话,就是部署完成了;如果要升级,只需要修改 DockerCompose 配置的版本号即可
访问:http://localhost:8080/xxl-job-admin/
本文由博客一文多发平台 OpenWrite 发布!