资源

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

docker部署xxl-job的更多相关文章

  1. ASP.NET Core开发-Docker部署运行

    ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...

  2. Docker部署Hadoop集群

    Docker部署Hadoop集群 2016-09-27 杜亦舒 前几天写了文章"Hadoop 集群搭建"之后,一个朋友留言说希望介绍下如何使用Docker部署,这个建议很好,Doc ...

  3. 程序开发使用docker部署

    我们公司自己研发了一套 grand-line 系统,使用 docker 来部署项目. 我是第一批小白鼠,一开始网络差,build 一次要半个小时,连接进入 web shell 也很慢,部署一个微信项目 ...

  4. 我使用celery以及docker部署遇到的问题

    首先我本机测试时没有问题的,但是在线上docker中,任务一直显示 "Sending due task".超时的任务是 django orm update 操作,本地不会出现这样的 ...

  5. Docker部署SDN环境

    2014-12-03 by muzi Docker image = Java class Docker container = Java object 前言 5月份的时候,当我还是一个大学生的时候,有 ...

  6. 在生产环境使用Docker部署应用

    导读 Docker现在越来越流行,但是真正在生产环境部署Docker还是个比较新的概念,还没有一个标准的流程.作者是ROR的程序员,作者结合平时的部署经验,联系Docker的特点,向大家分享了其在生产 ...

  7. Docker 使用指南 (六)—— 使用 Docker 部署 Django 容器栈

    版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/98 来源:腾云阁 https://www.qclou ...

  8. NET Core Docker部署

    NET Core Docker部署 前言 在前面文章中,介绍了 ASP.NET Core在 macOS,Linux 上基于Nginx和Jexus的发布和部署,本篇文章主要是如何在Docker容器中运行 ...

  9. 我使用 Docker 部署 Celery 遇到的问题

    问题1 - Sending due task 本机测试时没有问题的,但是在线上 docker 中,任务一直显示 "Sending due task".超时的任务是 Django O ...

  10. Docker部署Elasticsearch集群

    http://blog.sina.com.cn/s/blog_8ea8e9d50102wwik.html Docker部署Elasticsearch集群 参考文档: https://hub.docke ...

随机推荐

  1. HDU-5551 Huatuo's Medicine

    Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total Submission( ...

  2. (二十七)分类信息的curd-分类信息修改

      修改分类步骤分析: 1.在list.jsp页面上点击修改(编辑) /store/adminCategory?method=getById&cid=??? 2.在getById方法中 获取c ...

  3. sql server2008配置管理工具服务显示远程过程调用失败

    SQL SERVER2008配置管理工具服务显示远程过程调用失败   前两天,装了VS2012后,打开SQL2008配置管理工具,发现SQL服务名称里什么也没有,只有一个提示:(如图) 上网搜了,试了 ...

  4. 详解Supervisor进程守护监控

    Supervisor在百度百科上给的定义是超级用户,监管员.Supervisor是一个进程管理工具,当进程中断的时候Supervisor能自动重新启动它.可以运行在各种类unix的机器上,superv ...

  5. 如何正确访问Redis中的海量数据?服务才不会挂掉!

    一.前言 有时候我们需要知道线上的Redis的使用情况,尤其需要知道一些前缀的key值,让我们怎么去查看呢?并且通常情况下Redis里的数据都是海量的,那么我们访问Redis中的海量数据?如何避免事故 ...

  6. 简述网站、B/S架构与C/S架构

    一.什么是网站? 定义:网站是指在因特网上根据一定的规则,使用HTML等工具制作的用于展示特定内容相关网页的集合. 简单地说,网站是一种沟通工具(或者说是一种软件——建设网站也是软件开发的一种),我们 ...

  7. 【原创】《从0开始学Elasticsearch》—document的单/批量crud

    内容目录 1.新建文档2.查询文档3.修改文档4.删除文档 1.新建文档 1). 语法1,手动指定document 的id: PUT /index_name/type_name/id{    &quo ...

  8. Centos6.8 搭建 Mysql 主从复制

    实例环境: MySQL-Master:Centos-6.8:192.168.153.130 MySQL-Slave:Centos-6.8:192.168.153.131 1.两台服务器安装mysql ...

  9. 模拟赛01 T3 盖房子

    题面 http://zhengruioi.com/problem/248 题解 三重容斥(说是两重也行吧) 我们来看题目的约束 ①有k个位置不能放(k≤8) ②每行每列至少一个 ③正负对角线至少一个 ...

  10. Codeforces 1144G(dp)

    据说这题是种dp的套路?然后被我国红名神仙(南大Roundgod)贪心了,不过思路上非常相近了,故而可贪吧. 设的dp[i][0]是:如果把第i个数放在上升序列里了,那么下降序列结尾的那个最大是多少: ...