Docker Engine v25 — BuildKit ulimit 更改、OpenTelemetry 和 CDI 设备支持

DevOpsDockerLinux

关键更新

Docker Engine v25 (Engine v25.0) 引入了几个操作更改和新功能,具有直接的实际影响:守护进程现在遵循 systemd 的默认 LimitNOFILE 设置,用于 BuildKit 创建的构建容器(之前设置为无限),内置 OpenTelemetry 跟踪,增加了对 Linux 的容器设备接口(CDI)设备支持,并且还有构建/守护进程的可用性增强(递归只读挂载、新的 --log-format 用于 dockerd、按时间戳过滤镜像等)。 (docs.docker.com)

重要性

此版本影响真实世界的开发者工作流程和 CI 管道。systemd LimitNOFILE 的更改可能会改变 BuildKit 构建中的文件描述符可用性——在依赖于之前无限设置的环境中,可能导致意外的内存/行为变化或失败;您应该验证构建,并在必要时设置 systemd drop-in 或恢复构建服务的限制。内置的 OpenTelemetry 使收集守护进程级别的跟踪/指标变得简单,无需自定义包装器,从而提高了对不稳定构建和运行时调试的可观察性。CDI 设备支持简化了将专用硬件(GPU、加速器)传递到 Linux 上的构建/容器中,这对 ML/边缘工作负载很重要。总体而言:针对 v25 测试 CI 和本地构建,为文件描述符和内存行为添加监控,并在确认配置和安全策略后再选择使用 OpenTelemetry/CDI。 (docs.docker.com)

来源

继续阅读