docker部署xxl-job


資源

xxl-job:1.9.1
docker:17.05.0-ce
maven:3.5.0-jdk-8
tomcat:8.5.23.0
mysql:5.6.40

一、創建數據庫

  1. 克隆項目到服務器下
cd /tmp
git clone https://github.com/xuxueli/xxl-job.git
  1. 啟動數據庫
    docker run -itd --name xxl-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6.40

  2. 復制sql至mysql容器
    docker cp /tmp/xxl-job-1.9.1/doc/db/tables_xxl_job.sql xxl-mysql:/tmp

  3. 進入容器
    docker exec -it xxl-mysql /bin/bash

  4. 連接數據庫
    mysql -uroot -p123456

6.創建xxl-job數據庫
CREATE DATABASE `xxl-job` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

  1. 導入數據庫
    source /tmp/tables_xxl_job.sql

  2. 驗證並退出

use xxl-job;
show tables;        //16張默認表
quit
  1. 退出mysql容器回到本地
    exit

二、修改配置文件

  1. 修改xxl-job-admin配置
    vim /tmp/xxl-job-1.9.1/xxl-job-admin/src/main/resources/xxl-job-admin.properties
    將localhost:3306修改為你數據庫ip:port 我的是本地ip的3306端口,如192.168.0.129:3306
    xxl.job.db.url=jdbc:mysql://192.168.0.129:3306/xxl-job?useUnicode=true&characterEncoding=UTF-8
    修改賬戶密碼
    xxl.job.db.password=123456

  2. 修改xxl-job-executor配置
    vim /tmp/xxl-job-1.9.1/xxl-job-executor-samples/xxl-job-executor-sample-spring/src/main/resources/xxl-job-executor.properties
    將xxl.job.admin.address修改為你xxl-job-admin容器將要啟用的端口(在下面的步驟我將用8888端口啟動xxl-admin容器,只要端口沒被占用,可啟用任意端口,但啟動容器的時候請與之保持一致,不然項目啟動不了)
    xxl.job.admin.addresses=http://192.168.0.129:8888

三、編譯調度中心和執行器

  1. 臨時啟動maven容器來編譯項目(或者自己本地安裝maven也行)
    docker run -itd --name mvn maven:3.5.0-jdk-8 /bin/bash

  2. 將項目復制到maven容器內
    docker cp /tmp/xxl-job-1.9.1 mvn:/tmp

  3. 進入容器編譯xxl-job-admin

cd /tmp/xxl-job-1.9.1/xxl-job-admin
mvn clean package
  1. 同理編譯執行器(我選的是spring)
cd /tmp/xxl-job-1.9.1/xxl-job-executor-samples/xxl-job-executor-sample-spring
mvn clean package
  1. 編譯成功后退出maven容器
    exit

  2. 將編譯好的項目拷貝到本地
    docker cp mvn:/tmp/xxl-job-1.9.1 /tmp

  3. 在拷貝好的目錄下新建dockerfile以建立xxl-job-admin鏡像

cd /tmp/xxl-job-1.9.1
vim dockerfile
  1. 以下為dockerfile內容
FROM tomcat:8.5
EXPOSE 8080

ENV TOMCAT_WEBAPPS /usr/local/tomcat/webapps
ENV TIME_ZONE Asia/Shanghai

RUN rm -rf $TOMCAT_WEBAPPS/ROOT/* $TOMCAT_WEBAPPS/docs $TOMCAT_WEBAPPS/examples $TOMCAT_WEBAPPS/host-manager $TOMCAT_WEBAPPS/manager \
&& ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone

ADD xxl-job-admin/target/xxl-job-admin-1.9.1/ $TOMCAT_APPS/ROOT/
  1. 新建xxl-job-admin鏡像
docker build -t xxl-admin:0.1 .         #注意后面有個“.”
docker images                           #可看到已打包的鏡像
  1. 啟動xxl-admin容器
    docker run -itd --name xxl-admin -p 8888:8080 xxl-admin:0.1

  2. 替換第7步的dockerfile中ADD內容以新建xxl-executor鏡像
    ADD xxl-job-executor-samples/xxl-job-executor-sample-spring/target/xxl-job-executor-sample-spring-1.9.1/ $TOMCAT_APPS/ROOT/

  3. 將--name修改后重復第8,9步新建xxl-executor鏡像並啟動容器

docker build -t xxl-executor:0.1 .
docker run -itd --name xxl-executor -p 8888:8080 xxl-executor:0.1
  1. 訪問http://192.168.0.129:8888即可登錄xxl-job


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM