EasyEngine Cron 容器是 EasyEngine 项目的组成部分,专为在容器化环境中运行定时任务(cron jobs)设计。该镜像基于 EasyEngine 生态标准构建,提供轻量、可靠的定时任务调度能力,适用于与 EasyEngine 其他组件(如 Nginx、PHP、MariaDB 等)协同工作,满足 Web 应用(如 WordPress)的定时任务需求,例如数据库备份、日志清理、站点维护等自动化操作。
* * * * * 格式定义任务调度规则。easyengine/nginx、easyengine/php、easyengine/mariadb 等)无缝兼容,可直接访问同一环境中的服务和资源。从 Docker Hub 拉取最新版本镜像:
bashdocker pull easyengine/cron:latest
以下命令启动一个 cron 容器,挂载自定义任务配置和日志目录,并设置时区:
bashdocker run -d \ --name easyengine-cron \ --network=easyengine_default # 连接到 EasyEngine 其他服务所在网络(需提前创建)\ -v /path/to/your/crontab:/etc/cron.d/my-tasks:ro # 挂载自定义 cron 任务文件(只读)\ -v /host/path/to/logs:/var/log/cron # 挂载日志目录到宿主机,持久化任务日志\ -e TZ=Asia/Shanghai # 设置时区(默认 UTC)\ easyengine/cron:latest
说明:
/path/to/your/crontab:宿主机上的 cron 任务文件路径,文件内容需符合 cron 语法(示例见下文)。--network:需与 EasyEngine 其他组件(如数据库、Web 服务)在同一网络,确保任务可访问目标服务。
在 EasyEngine 多容器环境中,通过 docker-compose.yml 集成 cron 服务:
yamlversion: '3' services: cron: image: easyengine/cron:latest container_name: easyengine-cron networks: - easyengine_net # 共享网络,与 nginx、php、mariadb 等服务互通 volumes: - ./cron-tasks:/etc/cron.d:ro # 挂载宿主机 cron 任务目录(目录内所有 .sh 或无后缀文件会被加载) - cron-logs:/var/log/cron # 持久化日志到命名卷 environment: - TZ=Asia/Shanghai # 设置时区 restart: unless-stopped # 容器退出后自动重启(非手动停止时) networks: easyengine_net: external: true # 假设已存在 easyengine_net 网络(由 EasyEngine 主环境创建) volumes: cron-logs: # 命名卷,持久化日志数据
| 参数名 | 说明 | 默认值 | 示例 |
|---|---|---|---|
TZ | 容器时区,影响 cron 任务执行时间(需与任务配置中的时区一致) | UTC | Asia/Shanghai |
| 容器路径 | 用途 | 宿主机挂载建议 | 权限 |
|---|---|---|---|
/etc/cron.d | 存放 cron 任务配置文件(支持多个文件) | /host/path/to/cron-tasks | 只读(ro) |
/var/log/cron | cron 任务执行日志 | /host/path/to/cron-logs 或命名卷 | 读写(rw) |
在宿主机的 /path/to/your/crontab 中定义任务(语法:分 时 日 月 周 用户 命令):
bash# 每天凌晨 2 点执行数据库备份(假设 mariadb 容器名为 easyengine-mariadb) 0 2 * * * root mysqldump -h easyengine-mariadb -u root -p$DB_PASSWORD wordpress > /backup/wp_$(date +\%Y\%m\%d).sql # 每小时清理 /tmp 目录下 24 小时前的文件 0 * * * * root find /tmp -type f -mtime +1 -delete
注意:
- 任务文件需设置正确权限(宿主机上建议
chmod 644),避免因权限问题导致 cron 无法加载。- 若任务需要访问其他容器服务(如数据库),需通过容器名或服务名访问(依赖 Docker 网络 DNS 解析)。
crontab -l 或 cron -f 本地验证任务语法,避免因语法错误导致任务不执行。-e DB_PASSWORD=xxx),避免明文写在任务文件中。/var/log/cron 日志,或集成日志收集工具(如 ELK)监控任务执行状态。restart: unless-stopped,确保容器异常退出后自动恢复,避免任务中断。来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429