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
Docker镜像部署至Rancher全局配置 以xxl-job-admin为例_第1张图片
修改 application-properties 文件

修改数据库

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

${xxx:yyy}

该形式按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配置

Docker镜像部署至Rancher全局配置 以xxl-job-admin为例_第2张图片
点击右上角的 Depoly

修改为如下的配置
Docker镜像部署至Rancher全局配置 以xxl-job-admin为例_第3张图片
这样便将镜像启动到 Rancher 中

  • Name可以自己随便写
  • WorkloadType Scalable是指可动态伸缩的 这里启动了2个服务
  • Docker Images 是镜像的地址
  • Port Mapping 需要暴露8080内部端口(publish the container port)到外部随机端口(on listening port)
  • Environment Variables 是刚才在 application-properties 中 ${xxx:yyy} 的部分 注意配置别写错了

启动效果

Docker镜像部署至Rancher全局配置 以xxl-job-admin为例_第4张图片

你可能感兴趣的:(CI/CD,docker,rancher,数据库)