Docker镜像部署至Rancher全局配置 以xxl-job-admin为例

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS AI 助手,专业版
简介: Docker镜像部署至Rancher全局配置 以xxl-job-admin为例

流程以xxl-job-admin为例


1.基础环境

win/mac/linux

Rancher

Docker

2.下载源码

从Github上下载xxl-job

xxl-jobGithub

xxl-job官方地址


3.修改源码

打开 xxl-job 下的 xxl-job-admin

修改 application-properties 文件

修改数据库

修改为这种格式: 大括号包围

${xxx:yyy}
• 1

该形式按xxx名称可以从环境变量中读取

如果xxx名称读取不到 则使用 yyy

yyy默认配置的话

xxx后边我们将从Rancher中导入

### xxl-job, datasource
spring.datasource.url=${MYSQL_URL:jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai}
spring.datasource.username=${MYSQL_USERNAME:root}
spring.datasource.password=${MYSQL_PASSWORD:123456}
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

修改Token

### xxl-job, access token
xxl.job.accessToken=${ACCESS_TOKEN:default_token}


所有想要外部控制的参数都可以这么传入


4.打包镜像

将当前项目通过Maven打包成jar包


(项目自带的Dockerfile 也可以自己编写一个)


FROM openjdk:8-jre-slim
MAINTAINER xuxueli
ENV PARAMS=""
ENV TZ=PRC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
ADD target/xxl-job-admin-*.jar /xxl-job-admin.jar
ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /xxl-job-admin.jar $PARAMS"]


打包成镜像

这里就不解释参数的含义了


docker build -t 172.16.1.77/alibaba/xxl-job-admin:2.4.0 .


推送镜像

docker push 172.16.1.77/alibaba/xxl-job-admin:2.4.0


5.Rancher配置

这样便将镜像启动到 Rancher 中


Name可以自己随便写

WorkloadType Scalable是指可动态伸缩的 这里启动了2个服务

Docker Images 是镜像的地址

Port Mapping 需要暴露8080内部端口(publish the container port)到外部随机端口(on listening port)

Environment Variables 是刚才在 application-properties 中 ${xxx:yyy} 的部分 注意配置别写错了

启动效果

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
5月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
2394 4
|
6月前
|
JavaScript 算法 前端开发
【Docker项目实战】使用Docker部署paopao-ce微社区
【Docker项目实战】使用Docker部署paopao-ce微社区
569 84
【Docker项目实战】使用Docker部署paopao-ce微社区
|
6月前
|
JavaScript Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
489 100
|
6月前
|
缓存 安全 Linux
优化Docker镜像大小的多阶段构建实践
优化Docker镜像大小的多阶段构建实践
457 99
|
6月前
|
缓存 Docker 容器
优化Docker镜像大小的五个实用技巧
优化Docker镜像大小的五个实用技巧
631 98
|
5月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
289 5
|
6月前
|
存储 Docker Python
docker 部署 sftp
本文介绍SFTP服务的部署与配置,包括users.conf用户配置规则、Docker容器运行命令及上传目录权限说明,重点解析atmoz/sftp镜像的chroot机制与子目录映射,确保用户登录后正确访问/upload目录,并提供Python脚本实现文件上传示例。
580 12
docker 部署 sftp
|
6月前
|
运维 Linux 数据库
基于 Docker 部署 n8n 指南,新手一看就会
本教程详解如何通过 Docker 快速部署开源自动化工具 n8n,适合新手快速上手。内容涵盖官方部署步骤、常见难点及第三方一键部署方案,助你高效搭建自动化工作流平台。
2066 6
|
5月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
1818 8