centos7 在docker中安装gocron
源代码:https://github.com/ouqiang/gocron
一、搜索镜像
docker search gocron
二、拉镜像
docker pull ouqg/gocron
查看docker tag
https://hub.docker.com/r/ouqg/gocron/tags?page=1&ordering=last_updated
三、运行镜像
docker run -e TZ="Asia/Shanghai" --restart=always --name gocron -p 5920:5920 -d ouqg/gocron
四、初始化配置、数据库等
默认访问地址:http://127.0.0.1:5920,如果是第一次配置,先创建好数据库,填好数据库配置和管理员账号可直接初始化(表+数据)
五、已有数据库,想继续用老数据
有两种方式 1、直接修改配置文件 2、备份数据库,直接初始化数据库后还原数据。以下是第一种方式
5.1 暂时没有找到docker传参,只能进容器里修改配置文件(下面gocron
改成自己的容器名),源镜像源是从alpine生成
docker exec -it gocron sh
默认情况容器里的app/conf
下是空的,需要下图2个文件来初始化配置是数据,也是下面要做的
install.lock
是一个空文件,直接创建
cd conf && touch install.lock
vi app.ini
修改以下数据库信息,复制保存即可,注意auth_secret
一定要记得用以前的,错误的话无法手动初始化(做好auth_secret备份)
[default]
db.engine = mysql
db.host = 127.0.0.1
db.port = 3306
db.user = root
db.password = password
db.database = gocron
db.prefix =
db.charset = utf8
db.max.idle.conns = 5
db.max.open.conns = 100
allow_ips =
app.name = 定时任务管理系统
api.key =
api.secret =
enable_tls = false
concurrency.queue = 500
auth_secret = b413cb90e7e1cf8159ef3fec49333faa2b82499052c81ec826c0f8657ac07427
ca_file =
cert_file =
key_file =
修改完成后exit
退出容器,docker restart gocron
重启容器
再重新打开地址:http://127.0.0.1:5920 就不会默认再跳转初始化数据库页面了,用原数据库账户登录即可
五、gocron的使用
如果只是简单的使用job发一个http已经可以用了,gocron还可以配置节点,暂时没弄
案例0 0 12 * * ?
每天12点触发
也可以查看执行日志
六、重置密码
如果忘记密码可用以下sql重置,密码是123456,登录后重新修改
UPDATE gocron.`user` SET password='48a23c508cf968b63c1a58ebac679799',salt='Npqq3a' WHERE name ='admin'
七、定时清理JOB日志
删除3个月以前的JOB日志
DELETE FROM gocron.`task_log` WHERE start_time <=date_add(now(), interval -3 month)