Docker Desktop 3.0.0 正式版发布:开始支持补丁增量更新和为 Mac 的 M1 设备引入支持

Posted by Mike on 2020-12-22

近期 Docker 发布了全新的 Docker Desktop 3.0.0 版本,这个版本采用补丁形式进行增量更新,减少了每次更新的容量。官方还删除稳定和边缘频道,以单一发布串流代替,减少版本之间的混淆。而 Docker Engine 则发布 20.10版本,并开始支持 Cgroups V2。

Docker Desktop 是一个支持 Windows 和 MAC 系统的完整桌面开发环境,包括 Docker App,开发人员工具,Kubernetes 以及与最新版本的 Docker 引擎。Docker Desktop 可以让开发者利用认证的镜像和模板以及自选语言和工具进行快速的容器集群自动构建,利用 Docker Hub 将开发环境部署到安全的存储库,进行持续集成和安全协作。

Docker Desktop 3.0 版本主要更新内容包括:

  • Docker 仪表板,可以让用户在一个 UI 界面中访问容器、应用程序和远程镜像;
  • 适用于 Windows 10 Home 的 Docker 桌面;
  • 针对 Windows 上的 WSL 2 后端提供了更本地化的集成并大大提高了性能;
  • 支持 Azure 容器实例和 Amazon Elastic Container Service ;
  • 与 Snyk 建立合作伙伴关系,以安全扫描本地镜像并显示来自 Docker Hub 的镜像扫描结果;
  • Windows 和 Mac 上都加入了新的文件系统;
  • 针对 Mac 的新款 CPU 进行大量的改进;
  • 自动增量更新:现在版本更新只需要安装增量软件包(几十 M),并自动在后台完成。

支持补丁增量更新

由于不少使用者反应 Docker Desktop 的更新容量太大,下载和安装需要花费太长时间。因此官方决定改变更新方法,过去 Docker Desktop 的更新发布,都是提供完整的安装包,因此用户每次更新都需要下载数百 MB 的文件,而往后的更新,将会是前一个版本的增量更新,更新下载的容量会降至数十 MB,而且用户也将不用停下手边的工作,才能更新 Docker Desktop ,更新程序会在后台下载并且安装,届时用户只要重新启动软件,就可以开始使用新的版本。

官方还提到,他们还收到用户对稳定版与边缘版本的抱怨,稳定版的修复代码更新速度太慢,而边缘版本的更新频率又太过频繁,不时还会包含具有破坏性的更新。从稳定版切换到边缘版本,还需要重置容器和镜像。而且稳定版与边缘版使用平行,但又独立的版本号,让使用者难以比较版本的新旧。

因此从现在开始,Docker Desktop 3.0 将只会有一个发布串流,包含最新的修复代码以及实验性功能,而且皆为累积性更新,解决用户不清楚每个发布版本差异的问题。统一发布串流后,每个使用者都可以选择使用最新的功能,且接收的更新容量不只缩小,系统也会自动应用修复程序。

支持 Apple Silicon(M1)设备

Docker Desktop 3.0 最大的变化,就是提供了对 Apple Silicon 设备的支持。如果你想要在 13 英寸的 M1 MacBook Air / Pro 或 Mac mini 上使用 Docker Desktop,现无需担心在体验上有任何妥协。与此同时,Docker 最新预览版也引入了对 Windows Linux 子系统(WSL 2)的 GPU 支持。

之前 Docker Desktop 仅限于收到邀请的开发者预览,但即日起已向所有用户开放。

Docker Engine 20.10 版本发布

另外,官方也发布了 Docker Engine 20.10 版本,重要的更新包括支持 Cgroups V2。Docker 使用了几种基本 Linux 核心功能,以隔离正在执行的程序以及相关的文件,其中一个便是 Cgroups,在 Linux 中,Cgroups 会限制程序使用的资源,包括 CPU、内存和磁盘等,而 Docker 结合 Cgroups 与 Linux 命名空间,来将程序隔离在容器中。Linux 核心在 2016 年加入了 Cgroups V2,强化群组管理,以及无根容器的资源限制支持,而现在 Docker Engine 20.10 也开始支持 Cgroups V2,支持这些更多的管理功能。

Docker Engine 20.10 还支持以各种日志驱动程序读取 Docker 日志,过去 jsonfile 和 journald 日志程序,支持以 Docker 日志读取容器日志,但是许多第三方日志程序,并不支持 Docker 日志在本地端读取日志,而这对于想要以自动化和标准方式收集日志的使用者,造成许多麻烦,因此从 Docker Engine 20.10 开始,无论配置的日志记录驱动,或是扩充组件,都可以使用 Docker 日志读取容器日志。

参考文档

  1. https://www.google.com
  2. https://www.ithome.com.tw/news/141673
  3. https://www.docker.com/blog/docker-desktop-3-0-0-smaller-faster-releases/