XXL JOB DockerCompose部署

进击的阿晨發表於2024-11-13

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

相關文章