docker 安装xxl-job

这个应用需要用到mysql数据库, 这儿我用的是mysql数据库。

# 1.下载xxl-job
https://gitee.com/xuxueli0323/xxl-job
# 2.导入mysql脚本
unzip xxl-job-2.3.0.zip 
将mysql脚本移到mysql容器中:
## 2.1.先将文件导入到容器
mysql-test是容器名或id
```
docker cp xxl-job/doc/db/tables_xxl_job.sql mysql-test:/root
```
# 2.2.进入容器
```
docker exec -ti mysql-test /bin/bash
```
# 2.3.将文件导入数据库
进入容器后,连接数据库
```
mysql -uroot -p123456
```
进入到root目录下
```
cd /root
```
执行sql:

```
source tables_xxl_job.sql
```
更改数据库访问权限:(这一步不一定需要)

```
grant all privileges on *.* to root@'%'  identified  by '123456';
```
```
flush privileges;
```
docker将mysql重启,这儿我是用mac的管理工具直接重启。
# 4.启动并生成镜像

```
docker run -d --name xxl-job-admin -p 8090:8090 --privileged=true -v/Users/wangxian/soft/docker/xxl-job/conf/application.properties:/application.properties -v /Users/wangxian/soft/docker/xxl-job/data/applogs:/data/applogs -e PARAMS='--spring.config.location=/application.properties' xuxueli/xxl-job-admin:2.3.0
```
参数说明:
/Users/wangxian/soft/docker/xxl-job/conf/application.properties 加载外部配置文件的地址  
/Users/wangxian/soft/docker/xxl-job/data/applogs 设置外部存储日志及数据的地址

注意:我这儿是同一台机器上的docker安装xxl-job,访问的同机器的mysql,最开始我用127.0.0.1连接死活连不上,这儿要将ip改成mysql容器的ip
查询的命令:

```
docker inspect --format='{{.NetworkSettings.IPAddress}}' mysql-test
```
执行结果:172.17.0.2
也就是说,最后application.properties中的数据库链接为:

```
spring.datasource.url=jdbc:mysql://172.17.0.2:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
```

上一篇:Java 定时任务


下一篇:调度中心整体方案【基于xxl-job的内部定制改造】