Docker v28.2.0-rc.1 版本深度解析:CDI 默认启用与网络增强
Docker 是一个开源的容器化平台,它允许开发者将应用程序及其依赖项打包到一个轻量级、可移植的容器中。通过容器化技术,Docker 解决了"在我机器上能运行"的问题,使应用程序能够在任何环境中一致运行。本文将深入分析 Docker 最新发布的 v28.2.0-rc.1 版本带来的重要更新和改进。
CDI 功能正式成为默认选项
v28.2.0-rc.1 版本最显著的变化是将 CDI(Container Device Interface)功能设为默认启用状态。CDI 是一种标准化的设备接口规范,它允许容器直接访问主机上的硬件设备,如 GPU、FPGA 或其他专用计算设备。
在之前的版本中,CDI 功能需要手动启用,而现在开发者可以直接使用这一功能而无需额外配置。这一变化意味着:
- 硬件加速容器应用部署更加便捷
- 机器学习、高性能计算等场景下的容器化工作流程得到简化
- 开发者可以通过
docker info命令直接查看已发现的 CDI 设备信息
网络功能全面增强
本次更新在网络功能方面进行了多项重要改进:
新增网络访问控制选项
新增了 "com.docker.network.bridge.trusted_host_interfaces" 桥接网络选项,允许开发者指定一组可信的主机接口,这些接口可以直接访问容器 IP 地址上的发布端口。同时,新增了 "allow-direct-routing" 守护进程选项,用于禁用对直接发往容器的外部数据包的过滤。
网络可靠性提升
针对网络删除失败、负载均衡器 IP 地址释放等问题进行了修复。特别是在繁忙集群和丢包网络环境下,NetworkDB 的可靠性和收敛速度得到了显著提升。
容器运行时改进
性能优化
修复了 docker exec 命令在指定不存在的用户或组时会等待 10 秒的问题,提高了命令响应速度。同时,解决了使用 CDI 设备并配置了 --restart always 策略的容器在守护进程重启后无法启动的问题。
日志系统增强
为 fluentd 日志驱动程序新增了 fluentd-write-timeout 日志选项,允许开发者指定 fluentd 连接的写入超时时间,提高了日志收集系统的稳定性和可配置性。
开发者体验优化
CLI 改进
- 修复了 shell 自动补全功能,确保某些标志即使可以多次设置也只会补全一次
- 改进了
docker login命令对无效选项的错误提示信息 - 增强了
docker inspect命令,添加了 shell 补全功能,改进了--type标志的描述和验证 - 确保在 CLI 被强制终止时终端状态能够正确恢复
认证功能扩展
为实验性的 --use-api-socket 选项添加了对 DOCKER_AUTH_CONFIG 的支持,扩展了认证方式的灵活性。
底层存储引擎优化
在 containerd 镜像存储方面进行了多项重要改进:
- 默认启用 BuildKit 垃圾收集器,优化存储空间利用
- 修复了
docker build命令中覆盖镜像未正确标记为悬空镜像的问题 - 解决了
docker system df报告可回收空间为负值的问题 - 修复了推送多平台镜像时出现重复 PUT 请求的情况
兼容性与未来规划
本次更新对部分 API 和 SDK 功能进行了标记为弃用的处理,包括:
- 弃用了多个与构建相关的类型,建议开发者迁移到新的 API 路径
- 弃用了部分容器状态相关的常量和函数,推荐使用新的类型定义
- 从 API v1.50 开始,
GET /info响应中的BridgeNfIptables和BridgeNfIp6tables字段将被省略
这些变化体现了 Docker 项目对代码库的持续清理和现代化改造,开发者应关注这些弃用警告并适时更新代码。
总结
Docker v28.2.0-rc.1 版本在硬件加速支持、网络功能和开发者体验等方面带来了显著改进。CDI 功能的默认启用将推动更多硬件加速场景下的容器化应用,而网络子系统的增强则进一步提升了 Docker 在复杂环境下的可靠性和性能。对于开发者而言,命令行工具的改进和错误提示的优化将带来更流畅的开发体验。建议用户关注这些新特性,并根据项目需求评估升级计划。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C086
baihu-dataset异构数据集“白虎”正式开源——首批开放10w+条真实机器人动作数据,构建具身智能标准化训练基座。00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python057
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7GLM-4.7上线并开源。新版本面向Coding场景强化了编码能力、长程任务规划与工具协同,并在多项主流公开基准测试中取得开源模型中的领先表现。 目前,GLM-4.7已通过BigModel.cn提供API,并在z.ai全栈开发模式中上线Skills模块,支持多模态任务的统一规划与协作。Jinja00
agent-studioopenJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力TSX0136
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00