資源mysql
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、建立數據庫git
- 克隆項目到服務器下
cd /tmp git clone https://github.com/xuxueli/xxl-job.git
-
啓動數據庫
docker run -itd --name xxl-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6.40
github -
複製sql至mysql容器
docker cp /tmp/xxl-job-1.9.1/doc/db/tables_xxl_job.sql xxl-mysql:/tmp
web -
進入容器
docker exec -it xxl-mysql /bin/bash
spring -
鏈接數據庫
mysql -uroot -p123456
sql
6.建立xxl-job數據庫 CREATE DATABASE `xxl-job` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
docker
-
導入數據庫
source /tmp/tables_xxl_job.sql
數據庫 -
驗證並退出vim
use xxl-job; show tables; //16張默認表 quit
- 退出mysql容器回到本地
exit
2、修改配置文件tomcat
-
修改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:3306xxl.job.db.url=jdbc:mysql://192.168.0.129:3306/xxl-job?useUnicode=true&characterEncoding=UTF-8
修改帳戶密碼xxl.job.db.password=123456
-
修改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
3、編譯調度中心和執行器
-
臨時啓動maven容器來編譯項目(或者本身本地安裝maven也行)
docker run -itd --name mvn maven:3.5.0-jdk-8 /bin/bash
-
將項目複製到maven容器內
docker cp /tmp/xxl-job-1.9.1 mvn:/tmp
-
進入容器編譯xxl-job-admin
cd /tmp/xxl-job-1.9.1/xxl-job-admin mvn clean package
- 同理編譯執行器(我選的是spring)
cd /tmp/xxl-job-1.9.1/xxl-job-executor-samples/xxl-job-executor-sample-spring mvn clean package
-
編譯成功後退出maven容器
exit
-
將編譯好的項目拷貝到本地
docker cp mvn:/tmp/xxl-job-1.9.1 /tmp
-
在拷貝好的目錄下新建dockerfile以創建xxl-job-admin鏡像
cd /tmp/xxl-job-1.9.1 vim dockerfile
- 如下爲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/
- 新建xxl-job-admin鏡像
docker build -t xxl-admin:0.1 . #注意後面有個「.」 docker images #可看到已打包的鏡像
-
啓動xxl-admin容器
docker run -itd --name xxl-admin -p 8888:8080 xxl-admin:0.1
-
替換第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/
-
將--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