专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
cron

tgbyte/cron

自动构建
tgbyte

提供容器化的cron服务,用于在Docker环境中执行定时任务的轻量级镜像。

2 次收藏下载次数: 0状态:自动构建维护者:tgbyte仓库类型:镜像最近更新:11 天前
轩辕镜像,快一点,稳很多。点击查看
中文简介
标签下载
镜像标签列表与下载命令
轩辕镜像,快一点,稳很多。点击查看

Dockerized Cron 镜像文档

一、镜像概述

Dockerized Cron 是一个轻量级 Docker 镜像,旨在将 Unix/Linux 系统中的 cron 守护进程容器化,提供在隔离环境中执行定时任务的能力。该镜像基于 Alpine Linux 构建,保持极小体积的同时,完整支持 cron 任务调度功能,适用于需要在容器环境中运行周期性任务的场景。

二、核心功能与特性

核心功能

  • 完整支持 cron 任务调度语法(兼容 Vixie Cron 标准)
  • 支持自定义 crontab 文件挂载与管理
  • 任务输出日志重定向至容器标准输出(stdout/stderr),便于 Docker 日志系统收集
  • 支持时区配置,确保任务按预期时区执行

特性

  • 轻量级:基于 Alpine Linux,镜像体积小于 10MB
  • 灵活配置:支持通过文件挂载或环境变量定义 cron 任务
  • 持久化:任务配置文件可通过卷挂载实现持久化,容器重启后任务不丢失
  • 可观测性:任务执行日志实时输出,支持通过 docker logs 查看
  • 多平台支持:支持 amd64、arm64 等主流架构

三、使用场景与适用范围

典型使用场景

  • 容器化应用定时任务:为微服务或容器化应用提供定时任务能力(如数据备份、日志清理)
  • CI/CD 辅助操作:定时触发构建、测试或部署流程
  • 开发/测试环境:在隔离环境中调试 cron 任务逻辑
  • 轻量级自动化:替代传统服务器 cron,简化任务环境依赖管理

适用范围

  • 需要执行周期性命令/脚本的场景(时间粒度支持分钟级至年级)
  • 任务逻辑简单、无复杂环境依赖的场景
  • 追求资源占用低、部署便捷的场景

四、使用方法与配置说明

4.1 快速启动(docker run)

基本用法(挂载自定义 crontab 文件)

bash
# 1. 创建本地 crontab 文件(示例:每分钟输出当前时间到日志)
echo "* * * * * echo 'Current time: \$(date)' >> /var/log/cron.log 2>&1" > ./my-crontab

# 2. 运行容器,挂载 crontab 文件至容器内默认路径
docker run -d \
  --name docker-cron \
  -v $(pwd)/my-crontab:/etc/crontabs/root \  # 挂载自定义 crontab(root 用户任务)
  -v $(pwd)/cron-logs:/var/log \            # 挂载日志目录(可选,持久化日志)
  -e TZ=Asia/Shanghai \                     # 设置时区(默认 UTC)
  dockerized-cron:latest

说明:

  • 容器内默认使用 root 用户执行任务,crontab 文件需挂载至 /etc/crontabs/root(Alpine crond 标准路径)
  • 任务输出建议通过 >> /path/to/log 2>&1 重定向至文件,或直接输出到 stdout(通过 docker logs 查看)

4.2 任务配置(crontab 文件格式)

容器内 crontab 文件语法与标准 cron 一致,格式如下:

plaintext
# 分钟 小时 日 月 星期  命令/脚本(支持绝对路径)
# 取值范围:
# 分钟 (0-59), 小时 (0-23), 日 (1-31), 月 (1-12), 星期 (0-6, 0=周日)
# 特殊符号:*(任意值)、/(间隔)、,(枚举)、-(范围)

# 示例任务:
*/5 * * * * /usr/local/bin/backup.sh  # 每 5 分钟执行备份脚本
0 3 * * * /usr/local/bin/clean-logs.sh  # 每天凌晨 3 点执行日志清理
0 0 * * 0 /usr/local/bin/weekly-report.sh  # 每周日凌晨 0 点生成周报

4.3 环境变量配置

环境变量说明默认值可选值示例
TZ容器时区(影响任务执行时间)UTCAsia/Shanghai、UTC+8
CRON_USER执行任务的用户(容器内用户)rootappuser(需提前创建)
CRON_LOG_LEVEL日志级别infodebug、warn、error

4.4 日志查看与管理

查看任务输出日志

bash
# 实时查看容器日志(包含 cron 守护进程日志与任务输出)
docker logs -f docker-cron

日志持久化(挂载日志目录)

bash
# 将容器内 /var/log 挂载至本地目录,持久化任务日志
docker run -d \
  --name docker-cron \
  -v $(pwd)/my-crontab:/etc/crontabs/root \
  -v $(pwd)/cron-logs:/var/log \  # 本地目录 cron-logs 会保存任务日志
  dockerized-cron:latest

4.5 docker-compose 配置示例

yaml
version: '3.8'

services:
  cron:
    image: dockerized-cron:latest
    container_name: app-cron
    restart: unless-stopped  # 任务持久化,容器退出后自动重启
    environment:
      - TZ=Asia/Shanghai  # 设置时区为上海
      - CRON_USER=appuser  # 非 root 用户执行任务(需确保容器内存在该用户)
    volumes:
      - ./crontabs:/etc/crontabs  # 挂载整个 crontabs 目录(支持多用户任务)
      - ./scripts:/usr/local/scripts  # 挂载任务依赖的脚本(如备份脚本)
      - ./cron-logs:/var/log  # 持久化日志
    # 可选:限制资源占用
    deploy:
      resources:
        limits:
          cpus: '0.1'
          memory: 64M

五、配置参数详解

5.1 核心配置文件路径

路径说明挂载建议
/etc/crontabs/root默认 crontab 文件(root 用户任务)挂载本地文件至该路径
/etc/crontabs多用户 crontab 目录(用户任务文件)挂载目录,按用户名存放任务文件
/etc/cron.d系统级任务目录(支持任意文件名)挂载目录,存放系统级任务配置

5.2 任务执行依赖管理

若任务依赖外部脚本或工具,需通过卷挂载或镜像构建阶段集成:

bash
# 示例:挂载本地脚本目录至容器,任务中调用脚本
docker run -d \
  -v $(pwd)/my-crontab:/etc/crontabs/root \
  -v $(pwd)/my-scripts:/usr/local/scripts \  # 本地脚本目录挂载至容器
  dockerized-cron:latest

此时 crontab 文件可直接调用脚本:

bash
# 每小时执行挂载的备份脚本
0 * * * * /usr/local/scripts/backup-data.sh >> /var/log/backup.log 2>&1

5.3 时区配置说明

容器默认时区为 UTC,若任务需按本地时区执行,需通过以下方式配置:

方法 1:通过环境变量 TZ 配置(推荐)

bash
docker run -e TZ=Asia/Shanghai dockerized-cron:latest

方法 2:挂载本地时区文件(适用于不支持 TZ 变量的场景)

bash
docker run -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro dockerized-cron:latest

六、注意事项

  1. 权限问题:

    • 挂载的 crontab 文件权限需符合容器内用户权限(如 root 用户任务文件权限建议 600)
    • 非 root 用户执行任务时,需确保用户对任务文件、脚本及输出目录有读写权限
  2. 任务输出处理:

    • cron 任务默认无终端,避免使用依赖终端的命令(如 vim)
    • 任务输出建议显式重定向至文件或 stdout(>> /var/log/task.log 2>&1),否则可能丢失日志
  3. 容器生命周期:

    • 容器停止后任务将终止,需通过 --restart=always 或 docker-compose restart 策略确保任务持续执行
    • 任务逻辑应设计为幂等性(重复执行不影响结果),避免容器重启导致任务重复执行问题
  4. 资源限制:

    • 若任务资源消耗较高(如 CPU/内存密集型),建议通过 --cpus、--memory 限制容器资源,避免影响其他服务

七、常见问题(FAQ)

Q:任务未执行,如何排查?

A:1. 检查 crontab 文件语法(可通过 crontab -l 在容器内验证);2. 查看容器日志(docker logs)确认 cron 守护进程是否正常启动;3. 确认任务命令在容器内可执行(如依赖工具是否存在)。

Q:如何在任务中使用环境变量?

A:需在 crontab 文件中显式定义环境变量,或通过 source /etc/environment 加载容器环境变量,例如:

bash
# 在 crontab 文件中定义环境变量
DB_HOST=db.example.com
DB_PORT=3306
* * * * * /usr/local/scripts/query-db.sh $DB_HOST $DB_PORT >> /var/log/db.log 2>&1

Q:如何更新任务配置?

A:修改本地挂载的 crontab 文件后,无需重启容器,cron 守护进程会自动检测文件变更(通常 1-2 分钟内生效);若未自动生效,可通过 docker exec docker-cron crontab /etc/crontabs/root 手动重载。

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 cron 镜像标签

docker pull docker.xuanyuan.run/tgbyte/cron:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull tgbyte/cron:<标签>

更多 cron 镜像推荐

airbyte/cron logo

airbyte/cron

airbyte
暂无描述
2 次收藏1000万+ 次下载
10 天前更新
geokrety/cron logo

geokrety/cron

geokrety
用于触发GeoKrety后端周期性任务的Cron服务。
5千+ 次下载
1 年前更新
easyengine/cron logo

easyengine/cron

easyengine
EasyEngine环境的定时任务容器,用于运行周期性任务以管理网站相关操作。
2 次收藏10万+ 次下载
3 个月前更新
whefter/cron logo

whefter/cron

whefter
通过环境变量配置的Cron容器,内置curl和docker工具,适用于docker-compose环境。
10万+ 次下载
15 天前更新
tozd/cron logo

tozd/cron

tozd
提供cron任务支持的Docker镜像,适用于运行定时任务,可扩展添加程序及crontab文件,支持通过邮件发送任务输出,基于nullmailer实现邮件功能,需配置相关环境变量。
1万+ 次下载
11 天前更新
brumbrum/cron logo

brumbrum/cron

brumbrum
brumbrum cron images
1万+ 次下载
2 年前更新

查看更多 cron 相关镜像

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

Docker 配置

登录仓库拉取

通过 Docker 登录认证访问私有仓库

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

Harbor 镜像源配置

Harbor Proxy Repository 对接专属域名

Portainer 镜像源配置

Portainer Registries 加速拉取

Nexus 镜像源配置

Nexus3 Docker Proxy 内网缓存

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

使用与功能问题

配置了专属域名后,docker search 为什么会报错?

docker search 限制

Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?

站内搜不到镜像

机器不能直连外网时,怎么用 docker save / load 迁镜像?

离线 save/load

docker pull 拉插件报错(plugin v1+json)怎么办?

插件要用 plugin install

WSL 里 Docker 拉镜像特别慢,怎么排查和优化?

WSL 拉取慢

轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?

安全与 digest

第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?

新手拉取配置

轩辕镜像合规吗?轩辕镜像的合规是怎么做的?

镜像合规机制

错误码与失败问题

docker pull 提示 manifest unknown 怎么办?

manifest unknown

docker pull 提示 no matching manifest 怎么办?

no matching manifest(架构)

镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?

invalid tar header(解压)

Docker pull 时 HTTPS / TLS 证书验证失败怎么办?

TLS 证书失败

Docker pull 时 DNS 解析超时或连不上仓库怎么办?

DNS 超时

docker 无法连接轩辕镜像域名怎么办?

域名连通性排查

Docker 拉取出现 410 Gone 怎么办?

410 Gone 排查

出现 402 或「流量用尽」提示怎么办?

402 与流量用尽

Docker 拉取提示 UNAUTHORIZED(401)怎么办?

401 认证失败

遇到 429 Too Many Requests(请求太频繁)怎么办?

429 限流

docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?

D-Bus 凭证提示

为什么会出现「单层超过 20GB」或 413,无法加速拉取?

413 与超大单层

账号 / 计费 / 权限

轩辕镜像免费版和专业版有什么区别?

免费版与专业版区别

轩辕镜像支持哪些 Docker 镜像仓库?

支持的镜像仓库

镜像拉取失败还会不会扣流量?

失败是否计费

麒麟 V10 / 统信 UOS 提示 KYSEC 权限不够怎么办?

KYSEC 拦截脚本

如何在轩辕镜像申请开具发票?

申请开票

怎么修改轩辕镜像的网站登录和仓库登录密码?

修改登录密码

如何注销轩辕镜像账户?要注意什么?

注销账户

配置与原理类

写了 registry-mirrors,为什么还是走官方或仍然报错?

mirrors 不生效

怎么用 docker tag 去掉镜像名里的轩辕域名前缀?

去掉域名前缀

如何拉取指定 CPU 架构的镜像(如 ARM64、AMD64)?

指定架构拉取

用轩辕镜像拉镜像时快时慢,常见原因有哪些?

拉取速度原因

为什么拉取镜像的 :latest 标签,拿到的往往不是「最新」镜像?

latest 与「最新」

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
tgbyte/cron
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单,官方技术交流群:1072982923。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单,官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.