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
一、创建数据库
- 克隆项目到服务器下
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复制sql至mysql容器
docker cp /tmp/xxl-job-1.9.1/doc/db/tables_xxl_job.sql xxl-mysql:/tmp进入容器
docker exec -it xxl-mysql /bin/bash连接数据库
mysql -uroot -p123456
6.创建xxl-job数据库
CREATE DATABASE `xxl-job` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
导入数据库
source /tmp/tables_xxl_job.sql验证并退出
use xxl-job;
show tables; //16张默认表
quit
- 退出mysql容器回到本地
exit
二、修改配置文件
修改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修改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
三、编译调度中心和执行器
临时启动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
- 访问http://192.168.0.129:8888即可登录xxl-job

docker部署xxl-job的更多相关文章
- ASP.NET Core开发-Docker部署运行
ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...
- Docker部署Hadoop集群
Docker部署Hadoop集群 2016-09-27 杜亦舒 前几天写了文章"Hadoop 集群搭建"之后,一个朋友留言说希望介绍下如何使用Docker部署,这个建议很好,Doc ...
- 程序开发使用docker部署
我们公司自己研发了一套 grand-line 系统,使用 docker 来部署项目. 我是第一批小白鼠,一开始网络差,build 一次要半个小时,连接进入 web shell 也很慢,部署一个微信项目 ...
- 我使用celery以及docker部署遇到的问题
首先我本机测试时没有问题的,但是在线上docker中,任务一直显示 "Sending due task".超时的任务是 django orm update 操作,本地不会出现这样的 ...
- Docker部署SDN环境
2014-12-03 by muzi Docker image = Java class Docker container = Java object 前言 5月份的时候,当我还是一个大学生的时候,有 ...
- 在生产环境使用Docker部署应用
导读 Docker现在越来越流行,但是真正在生产环境部署Docker还是个比较新的概念,还没有一个标准的流程.作者是ROR的程序员,作者结合平时的部署经验,联系Docker的特点,向大家分享了其在生产 ...
- Docker 使用指南 (六)—— 使用 Docker 部署 Django 容器栈
版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/98 来源:腾云阁 https://www.qclou ...
- NET Core Docker部署
NET Core Docker部署 前言 在前面文章中,介绍了 ASP.NET Core在 macOS,Linux 上基于Nginx和Jexus的发布和部署,本篇文章主要是如何在Docker容器中运行 ...
- 我使用 Docker 部署 Celery 遇到的问题
问题1 - Sending due task 本机测试时没有问题的,但是在线上 docker 中,任务一直显示 "Sending due task".超时的任务是 Django O ...
- Docker部署Elasticsearch集群
http://blog.sina.com.cn/s/blog_8ea8e9d50102wwik.html Docker部署Elasticsearch集群 参考文档: https://hub.docke ...
随机推荐
- 阿里云RDS数据库备份文件恢复到本地mysql数据库
一.安装mysql和xtrabackup (1)安装mysql 因为RDS是5.6版本,所以我们本地的mysql数据库要与RDS版本对应. rpm -ivh http://repo.mysql.co ...
- centos7无故重启-内核升级
最近有一台物理服务器,centos7操作系统,无故重启,每天都会发生这种情况: 解决: 升级内核 CentOS 允许使用 ELRepo,这是一个第三方仓库,可以将内核升级到最新版本,使用ELRepo升 ...
- Android 截屏的各种骚操作
本文公众号「AndroidTraveler」首发. 背景 在实际的应用场景中,Android 手机的截屏其实是很普遍的. 比如说 PPT 演示,比如说技术博客图文并茂讲解. 因此懂得 Android ...
- 《高性能iOS 应用开发》之降低你 APP 的电量消耗
在编写高性能 代码时, 电量消耗是一个需要重点处理的重要因素, 就执行时间和 CPU 资源的利用而言, 我们不仅要实现高效的数据结构和算法, 还需要考虑其他的因素,如果某个应用是个电池黑洞,那么一定不 ...
- hdoj1272 小希的迷宫
并查集 = =.一开始判断连通,没有判断环,后来判断了环,没有判断连通... 还有就是一开始是0 0,也是Yes,有道理么?我不是很懂.. #include <iostream> #inc ...
- 分享一个实用任意路数PWM函数
一.什么是PWM? 1.科普一下什么是PWM,嘿嘿,莫闲啰嗦,好好看看,可能大多数人听过,但可能没详细了解过,至此不妨花费几分钟,详细了解哈,PWM中文译名为:脉冲宽度调制,即控制电路在输出频率不变的 ...
- ubuntu server 14.04LTS升级Python3.5
依次执行如下命令:需要root权限,普通用户可以使用sudo 来执行以下命令 root@ubuntu-server:~# add-apt-repository ppa:fkrull/deadsnake ...
- Hacker的社交礼仪与自我修养【转】
Hacker School是位于纽约的一所特殊的编程“学校”,他们的目标是帮助参与者变成“更好的程序员”,之所以说他们特殊是因为这所“学校”没有老师,没有考试,也不会颁发证书,他们信奉三人行必有我师, ...
- AJPFX总结String类的特点
String str = "abc"; str就是String的一个对象 字符串一旦被赋值, 值就不能再被改变了 举例:String s ...
- jQuery中面向对象思想实现盒子内容切换
这里主要是模拟小米官网中的首页的内容模块实现的主要动态效果 布局:采用了bootstrap框架进行布局,及其其中的字体图标 html: <!-- 内容 --> <div class= ...