本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

一个基于docker的简单包装工具,允许在其他容器中运行复杂的Cron任务。
latest (Dockerfile)
是的,我知道mcuadros/ofelia(280MB),它是本项目的主要灵感来源。这是一个很棒的项目,请勿误解。只是它缺少一些我认为支持Docker发展方向所需的关键企业特性。
update_script.sh等脚本的实际功能。image启动镜像。container在容器中运行命令。project在扩展容器的实例上运行命令。trigger在定时任务完成后触发其他容器中的脚本。name:作业文件名的可读名称,会转换为slug格式。可选。comment:包含在crontab条目中的注释。可选。schedule:Cron调度语法,详见***。例如@hourly、@every 1h30m、* * * * *。必填。command:在crontab容器或Docker容器/镜像中运行的命令。必填。image:Docker镜像名称(例如library/alpine:3.5)。可选。project:Docker Compose/Swarm项目名称。可选,仅在包含container时适用。container:完整容器名称或容器别名(如果设置了project)。如果包含image则忽略此项。可选。dockerargs:Docker run/exec命令行参数,用于完全控制。默认为空字符串。trigger:docker-crontab子集对象数组。子集包含:image、project、container、command、dockerargs。onstart:在crontab容器启动时运行命令,设为true。可选,默认为false。查看config.sample.json获取示例。
[{ "schedule":"@every 5m", "command": "/usr/sbin/logrotate /etc/logrotate.conf" },{ "comment":"重新生成证书并重新加载nginx", "schedule":"43 6,18 * * *", "command":"sh -c 'dehydrated --cron --out /etc/ssl --domain ${LE_DOMAIN} --challenge dns-01 --hook dehydrated-dns'", "dockerargs":"--env-file /opt/crontab/env/letsencrypt.env -v webapp_nginx_tls_cert:/etc/ssl -v webapp_nginx_acme_challenge:/var/www/.well-known/acme-challenge", "image":"willfarrell/letsencrypt", "trigger":[{ "command":"sh -c '/etc/scripts/make_hpkp ${NGINX_DOMAIN} && /usr/sbin/nginx -t && /usr/sbin/nginx -s reload'", "project":"conduit", "container":"nginx" }], "onstart":true }]
docker build -t crontab . docker run -d \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ -v ./env:/opt/env:ro \ -v /path/to/config/dir:/opt/crontab:rw \ -v /path/to/logs:/var/log/crontab:rw \ crontab
docker network ls查看现有网络docker-compose.yml在my_dir目录中,网络可能为my_dir_defaultconfig.json中添加dockerargs
--network NETWORK_NAME将新容器连接到docker-compose网络--rm --name NAME指定容器名称"dockerargs": "--network my_dir_default --rm --name my-best-cron-job"FROM willfarrell/crontab COPY config.json ${HOME_DIR}/
FROM willfarrell/crontab RUN apk add --no-cache logrotate RUN echo "*/5 * * * * /usr/sbin/logrotate /etc/logrotate.conf" >> /etc/crontabs/logrotate COPY logrotate.conf /etc/logrotate.conf CMD ["crond", "-f"]
所有stdout输出会被捕获、格式化并保存到/var/log/crontab/jobs.log。设置LOG_FILE为/dev/null可禁用日志。
示例:e6ced859-1563-493b-b1b1-5a190b29e938 2017-06-18T01:27:10+0000 [info] Start Cronjob **map-a-vol** map a volume
grok格式:CRONTABLOG %{DATA:request_id} %{TIMESTAMP_ISO8601:timestamp} \[%{LOGLEVEL:severity}\] %{GREEDYDATA:message}
免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429