官網給的方式是 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 釋出!