互联网技术 / 互联网资讯 · 2024年4月5日

Docker 与 containerd 集成的扩展

正在推进对 DockeR 与 contAIneRd 的集成,以实现图像管理能力的拓展。该实验性功能作为桌面客户端的可选选项,在最新版本中提供以便尽早获得反馈。

扩展 Docker 与 containerd 的集成

简要而言,contAIneRd 是一种广泛采用的开放容器运行时,负责主机系统的完整容器生命周期管理,包括镜像的拉取与推送,以及容器的创建、启动与停止。它作为容器运行时的底层组成,通常嵌入到像 Docker 和 Kubernetes 这类系统中使用,而非直接面向终端开发者使用。

将 contAIneRd 纳入 Docker 引擎的努力可以追溯至多年前,目标在于将容器监管逻辑从核心引擎中抽离,转而在独立守护进程中运行,以提高在 Kubernetes 等项目中的重用性。该项目随后成为开放源代码生态的一部分,达到成熟阶段。

当前的集成是对 Docker 引擎的一次深入扩展,使其能够通过 contAIneRd 来管理图像,并支持存储、推送与拉取等操作。借助 contAIneRd 的快照器架构,根文件系统的挂载方式也可以通过替代组件实现,从而支持多种快照工具,提升灵活性。

ContAIneRd 作为领先的开放容器运行时,其与 Docker 引擎的深度整合能够使行业工具更好地实现协同工作,推动跨平台兼容性与统一性的发展。

这次迁移主要涉及两点更新:

1. 将 Docker 的图形驱动切换为 contAIneRd 的快照器实现;
2. 通过 contAIneRd 支持镜像的推送、拉取与存储。

在考虑开发者现有工作流和广泛依赖的 Docker API 的情况下,这次集成将尽量保持透明、兼容性不下降。作为实验性、可选的功能,用户可以在最新桌面客户端中开启实验模式,以在后台体验以下命令与 contAIneRd 的协同工作:运行、提交、构建、推送、加载与保存。

对开发者的影响包括:

  • ContAIneRd 的快照器实现可带来更快的功能集成,例如在启动时选择性延迟拉取镜像,或与多点点对点分发解决方案协同工作。
  • contAIneRd 的内容存储支持本地多平台镜像及其他 OCI 兼容对象,有助于在 Docker 引擎下构建与操作多平台镜像,以及未来相关扩展的实现。
扩展 Docker 与 containerd 的集成

若未启用实验性功能,可能会收到错误提示,指示当前驱动程序不支持相关特性。如下所示的示例信息将提示这一情况。

扩展 Docker 与 containerd 的集成

简而言之,未来的 Docker 用户将看到对 contAIneRd 的全面集成带来的诸多提升,包括原生多平台支持、镜像加密与惰性拉取等能力。因此,建议在测试环境中体验最新桌面客户端并开启 contAIneRd 的实验性功能,以体验这项集成带来的潜在改进。