Docker Compose v5.6.0 引入了对 jobs 的部分支持。
当前支持范围
目前只管理手动触发的任务。计划任务(scheduled jobs)要等 Docker Engine 的支持落地后再补。
这意味着什么
Compose 过去的核心场景是「把一组长期运行的服务拉起来」。jobs 的加入让它能覆盖「跑一次就结束」的批处理任务,比如数据迁移、备份、一次性脚本。
这类任务以前要么单独用 docker run,要么自己写脚本拼,现在可以写进同一个 compose 文件里,环境、网络、卷的定义都能复用。
注意它的边界
只支持手动触发,意味着定时类场景还得走外部调度(cron 或 CI 定时器)。别指望用它替掉现有的调度器。
同期值得关注的版本
- n8n v2.41.6:修复任务运行器在未处理 Promise 拒绝时崩溃的问题。做自动化工作流的人应该升,稳定性问题直接影响流程可靠性。
- Tailscale v1.104.0:零配置 VPN,本次带来若干性能改进与稳定性修复。远程办公场景下的常用选择。
- Redis v8.12-m02-int:侧重测试协议改进,让测试运行期间更容易追踪客户端状态。
Compose 用得好的几个习惯
第一,把 compose 文件纳入版本管理。环境定义就是基础设施文档,散落在运维机器上的文件迟早丢。
第二,区分 base 与 override。用多个文件叠加而不是复制粘贴多份,改一处不用改全部。
第三,敏感信息走 secrets 或环境变量注入,别写死在文件里。
第四,健康检查要写。很多「服务起不来」的问题,本质是没有 readiness 判断,上游一启动就被打流量。
第五,job 类任务要注意退出码。跑批任务的失败往往被忽略,因为没人看退出码。
升级建议
v5 是较大版本,先在非关键环境验证。重点确认自定义网络配置和 depends_on 的行为是否和之前一致——这两个是跨大版本最容易出差异的地方。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。