xxl-job-admin国产ARM架构编译docker部署
构建 XXL-JOB ARM 架构的 Docker 镜像,以满足适配国产化项目的需求
2.1 保证系统环境有java
2.2 安装 Maven
下载解压即用版的 Maven
wget https://dlcdn.apache.org/maven/maven-3/3.8.9/binaries/apache-maven-3.8.9-bin.tar.gz -P ~/tools/src/
解压软件包
tar xvf ~/tools/src/apache-maven-3.8.8-bin.tar.gz -C ~/tools/
配置环境变量
编辑环境变量配置文件,vi ~/.zshrc,在文件末尾加入以下内容:
# Maven
export MAVEN_HOME=~/tools/apache-maven-3.8.8
export PATH=$PATH:${MAVEN_HOME}/bin
查看 Maven 版本,验证是否安装成功
$ mvn -version
Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)
Maven home: /Users/opsxlab/tools/apache-maven-3.8.8
Java version: 1.8.0_411, vendor: Oracle Corporation, runtime: /Users/opsxlab/tools/jdk1.8.0_411.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "14.5", arch: "aarch64", family: "mac"
3. 编译 XXL-JOB Jar 包
3.1 下载 XXL-JOB 源码包
git clone https:///github.com/xuxueli/xxl-job.git
建议去下2.4的版本,最新版本对JAVA版本要求是11
3.2 编译构建 jar 包
cd /xxl-job
mvn clean package -Dmaven.test.skip=true
正确执行后,输出结果如下 :
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for xxl-job 2.4.2:
[INFO]
[INFO] xxl-job ............................................ SUCCESS [ 0.055 s]
[INFO] xxl-job-core ....................................... SUCCESS [ 1.113 s]
[INFO] xxl-job-admin ...................................... SUCCESS [ 1.631 s]
[INFO] xxl-job-executor-samples ........................... SUCCESS [ 0.001 s]
[INFO] xxl-job-executor-sample-frameless .................. SUCCESS [ 0.057 s]
[INFO] xxl-job-executor-sample-springboot ................. SUCCESS [ 0.145 s]
[INFO] xxl-job-executor-sample-spring ..................... SUCCESS [ 0.608 s]
[INFO] xxl-job-executor-sample-jfinal ..................... SUCCESS [ 0.697 s]
[INFO] xxl-job-executor-sample-nutz ....................... SUCCESS [ 0.658 s]
[INFO] xxl-job-executor-sample-jboot ...................... SUCCESS [ 0.299 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.377 s
[INFO] Finished at: 2024-05-15T15:00:45+08:00
[INFO] ------------------------------------------------------------------------
说明: 上面的输出结果是第二次编译的结果,第一次会下载很多 jar 依赖包,耗时依赖网络。
3.3 查看成功编译的 jar 包
$ ls xxl-job-admin/target
classes maven-archiver xxl-job-admin-2.2.0.jar
generated-sources maven-status xxl-job-admin-2.2.0.jar.original
4. 构建 XXL-JOB Docker 镜像
4.1 构建 Docker 镜像
Docker 镜像的 tag 命名规则跟 xxl-job 官方保持一致,但是使用了 opsxlab 的前缀,请你根据实际情况修改。
XXL-JOB 源码中自带 Dockerfile,直接使用 Maven 构建出的 jar 包,执行下面的命令,构建 Docker 镜像。
cd xxl-job-admin
docker build -t kelong/xxl-job-admin_arm:2.4.2 .
正确执行后,输出结果如下 :
$ docker build -t kelong/xxl-job-admin:2.4.2 .
[+] Building 16.8s (9/9) FINISHED docker:desktop-linux
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 329B 0.0s
=> [internal] load metadata for docker.io/library/openjdk:8-jre-slim 16.3s
=> [auth] library/openjdk:pull token for registry-1.docker.io 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [1/3] FROM docker.io/library/openjdk:8-jre-slim@sha256:53186129237fbb8bc0a12dd36da6761f4c7a2a20233c20d4eb0d497e4045a4f5 0.0s
=> [internal] load build context 0.3s
=> => transferring context: 39.03MB 0.3s
=> CACHED [2/3] RUN ln -snf /usr/share/zoneinfo/PRC /etc/localtime && echo PRC > /etc/timezone 0.0s
=> [3/3] ADD target/xxl-job-admin-*.jar /app.jar 0.1s
=> exporting to image 0.1s
=> => exporting layers 0.1s
=> => writing image sha256:b76aeccf6a21a77b3890a9e9156edcbebe41d1e2872086e2b536cb873a537f1d 0.0s
=> => naming to docker.io/kelong/xxl-job-admin:2.4.2 0.0s
4.2 验证镜像架构
$ docker inspect kelong/xxl-job-admin:2.4.2 | grep "Architecture"
"Architecture": "arm64",
4.3 导入初始xxl_job表
表路径:xxl-job-2.4.2/doc/db/tables_xxl_job.sql
4.4 docker-compose配置启动
services:
xxl-job-admin:
restart: always
image: kelong/xxl-job-admin_arm:2.4.2
container_name: xxl-job-admin
volumes:
- /software/xxl-job-admin/logs:/data/applogs
ports:
- 8800:8800
environment:
# 设置启动参数
PARAMS: '
--server.port=8800
--server.servlet.context-path=/xxl-job-admin
--spring.datasource.url=jdbc:mysql://192.168.x.30:3306/xxl_job?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false
--spring.datasource.username=xxl
--spring.datasource.password=sj@123123
#--spring.mail.host=smtp.qq.com
#--spring.mail.port=465
#--spring.mail.username=test_mail@qq.com
#--spring.mail.from=test_mail@qq.com
#--spring.mail.password=password123456
#--spring.mail.properties.mail.smtp.starttls.enable=true
#--spring.mail.properties.mail.smtp.starttls.required=true
--xxl.job.accessToken=Lpoms_xxljob_default_token'
启动
docker-compose up -d
4.5 网页登陆
http://192.168.x.30:8800/xxl-job-admin/ 默认账号密码admin/123456 登陆及时更改
更多推荐
所有评论(0)