您的位置:首页 > 游戏 > 手游 > 软件开发定制_网页游戏排行榜2014年_搜索引擎seo_查询网站相关网址

软件开发定制_网页游戏排行榜2014年_搜索引擎seo_查询网站相关网址

2024/10/5 20:20:51 来源:https://blog.csdn.net/u013071014/article/details/142377685  浏览:    关键词:软件开发定制_网页游戏排行榜2014年_搜索引擎seo_查询网站相关网址
软件开发定制_网页游戏排行榜2014年_搜索引擎seo_查询网站相关网址

使用Dockerfile部署xxljob

1. 背景

  1. 我们在使用定时任务调度时,通常会使用xxljob
  2. 容器化部署xxljob,通常使用 docker pull xuxueli/xxl-job-admin:2.4.0 拉取镜像并启动容器。这种方式对于x86架构服务器来说,没有任何问题。但是在arm架构的服务器上,运行容器会报错架构不匹配。
The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
  1. 由于在arm架构无法启动容器,因此,我们采用Dockerfile运行jar包的方式创建容器,使用这种方式,可以规避架构导致的容器运行失败的问题。

2. 前提条件:

  1. 已安装docker及docker-compose
  2. 已存在 jdk 镜像,我使用的是openjdk 17
    在这里插入图片描述

3. 拉取xxljob源码,打包编译

  1. git 项目地址
    https://github.com/xuxueli/xxl-job
    拉取代码
  2. 导入数据
    在项目的 doc/db 目录下有一个sql文件,导入自己的数据库中
  3. idea打开项目,使用maven 拉取依赖
  4. 修改xxl-job-admin工程的 application.properties配置文件,将数据库的配置改为自己的连接信息
  5. 运行xxl-job-admin工程,查看是否正常启动
  6. 启动成功后访问 http://localhost:8080/xxl-job-admin
  7. 如果能正常访问,说明环境没有问题,此时可以将xxl-job-admin打包成jar包

4. 部署xxljob

  1. 将 xxl-job-admin.jar 上传到服务器指定目录,我放在了 /data/xxl-job 目录
  2. 在同级目录创建 logback-spring.xml 用于配置日志
vim logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false"><!--定义日志文件的存储地址 --><property name="LOG_HOME" value="/data/logs/xxl-job/" /><!--<property name="COLOR_PATTERN" value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta( %replace(%caller{1}){'\t|Caller.{1}0|\r\n', ''})- %gray(%msg%xEx%n)" />--><!-- 控制台输出 --><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%L - %msg%n</pattern>--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight(%-5level) %cyan(%logger{50}:%L) - %msg%n</pattern></encoder></appender><!-- 按照每天生成日志文件 --><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><!--日志文件输出的文件名 --><FileNamePattern>${LOG_HOME}/xxl-job-%d{yyyy-MM-dd}.%i.log</FileNamePattern><!--日志文件保留天数 --><MaxHistory>30</MaxHistory><maxFileSize>10MB</maxFileSize></rollingPolicy><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%L - %msg%n</pattern></encoder></appender><!--myibatis log configure --><logger name="com.apache.ibatis" level="TRACE" /><logger name="java.sql.Connection" level="DEBUG" /><logger name="java.sql.Statement" level="DEBUG" /><logger name="java.sql.PreparedStatement" level="DEBUG" /><!-- 日志输出级别 --><root level="INFO"><appender-ref ref="STDOUT" /><appender-ref ref="FILE" /></root></configuration>
  1. 在同级目录创建 Dockerfile 文件
vim Dockerfile
FROM openjdk:17 # 引入jdk,对应自己的版本ENV TZ=Asia/ShanghaiADD xxl-job-admin.jar /data/xxl-job/xxl-job-admin.jar
EXPOSE 8080CMD java ${JAVA_OPTS} -Dlogging.config=/data/xxl-job/logback-spring.xml -jar /data/xxl-job/xxl-job-admin.jar
  1. 创建 docker-compose-xxljob.yaml
vim docker-compose-xxljob.yaml
version: '3'
services:  dsp-xxl-job:restart: alwaysbuild: context: /data/xxl-jobdockerfile: Dockerfilecontainer_name: xxl-jobimage: xxl-jobhostname: xxl-jobnetwork_mode: hostprivileged: trueenvironment:TZ:  Asia/ShanghaiSPRING_DATASOURCE_URL: jdbc:mysql://xxx:3306/xxl-job?Unicode=true&characterEncoding=UTF-8SPRING_DATASOURCE_USERNAME: rootSPRING_DATASOURCE_PASSWORD: 123456ports:- 8080:8080volumes:- '/etc/localtime:/etc/localtime:ro'- '/data/xxl-job:/data/xxl-job:ro'- '/data/logs/xxl-job:/data/logs/xxl-job:rw'
  1. 启动容器
docker-compose -f docker-compose-xxljob.yaml up -d
  1. 启动成功后访问 http://服务器IP地址:8080/xxl-job-admin

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com