Docker Engine 24.0 发布说明

本页面介绍 Docker Engine 24.0 版的最新更改、新增功能、已知问题和修复。

有关更多信息,请参阅:

24.0.9

2024-01-31

有关此版本中拉取请求和更改的完整列表,请参阅相关的 GitHub 里程碑:

安全性

此版本包含针对影响 Docker Engine 及其组件的以下 CVE 的安全修复。

CVE组件修复版本严重性
CVE-2024-21626runc1.1.12高危,CVSS 8.6
CVE-2024-24557Docker Engine24.0.9中危,CVSS 6.9
重要

请注意,此版本的 Docker Engine 不包含 BuildKit 中以下已知漏洞的修复。

要解决这些漏洞,请升级到 Docker Engine v25.0.2

有关此版本中解决的安全问题以及 BuildKit 中未解决的漏洞的更多信息,请参阅博客文章

有关每个漏洞的详细信息,请参阅相关的安全公告。

打包更新

24.0.8

2024-01-25

有关此版本中拉取请求和更改的完整列表,请参阅相关的 GitHub 里程碑:

错误修复和增强

  • 实时恢复:带自动删除(docker run --rm)的容器在引擎重启后不再强制删除。moby/moby#46857

打包更新

24.0.7

2023-10-27

有关此版本中拉取请求和更改的完整列表,请参阅相关的 GitHub 里程碑:

错误修复和增强

  • 原子写入 overlay2 层元数据。moby/moby#46703
  • 修复 systemd 250 及更高版本上的 "Rootful-in-Rootless" Docker-in-Docker 问题。moby/moby#46626
  • 修复当用户名包含反斜杠时 dockerd-rootless-setuptools.sh 的问题。moby/moby#46407
  • 修复当使用 dockerd --bridge=none 且容器没有网络附件时,网络沙盒无法完全删除的错误。moby/moby#46702
  • 修复取消 API 请求可能会中断容器重启的错误。moby/moby#46697
  • 修复当提供 --ip-range 且范围大于子网时容器启动失败的问题。docker/for-mac#6870
  • 修复 zstd 输出的数据损坏问题。moby/moby#46709
  • 修复容器 MAC 地址应用的条件。moby/moby#46478
  • 改进统计信息收集器的性能。moby/moby#46448
  • 修复源策略规则顺序错误的问题。moby/moby#46441

打包更新

安全性

24.0.6

2023-09-05

有关此版本中拉取请求和更改的完整列表,请参阅相关的 GitHub 里程碑:

错误修复和增强

  • containerd 存储后端:修复当容器镜像在内容存储中不再存在时 docker ps 失败的问题。moby/moby#46095
  • containerd 存储后端:修复当容器镜像配置在内容存储中不再存在时 docker ps -s -adocker container prune 失败的问题。moby/moby#46097
  • containerd 存储后端:修复当容器镜像配置在内容存储中不再存在(或从未存在)时 docker inspect 失败的问题。moby/moby#46244
  • containerd 存储后端:通过使用引用计数的 rootfs 挂载修复 overlayfs 快照器上的 diff 和导出问题。moby/moby#46266
  • containerd 存储后端:修复当本地可用镜像平台与所需平台不匹配时误导性错误消息的问题。moby/moby#46300
  • containerd 存储后端:修复使用经典构建器时 FROM scratch Dockerfile 指令的问题。moby/moby#46302
  • containerd 存储后端:修复使用经典构建器时 mismatched image rootfs and manifest layers 错误的问题。moby/moby#46310
  • 从所有注册表拉取 Docker Image Format v1 和 Docker Image manifest version 2, schema 1 镜像时发出警告。moby/moby#46290
  • 修复具有自定义卷选项的卷的实时恢复问题。moby/moby#46366
  • 修复以非 root 用户运行容器时错误地删除能力位的问题(注意:此更改由于回归已实际存在)。moby/moby#46221
  • 修复网络隔离 iptables 规则阻止 IPv6 邻居请求数据包在容器之间交换的问题。moby/moby#46214
  • 修复 Windows 上当二进制文件位于当前目录时 dockerd.exe --register-service 不工作的问题。moby/moby#46215
  • 在对 Docker Hub 执行 docker login 时添加使用 PAT 的提示。docker/cli#4500
  • 改进 Bash CLI 自动补全用户的 shell 启动时间。docker/cli#4517
  • 通过尽可能跳过 GET /_ping 来提高某些命令的速度。docker/cli#4508
  • 修复使用 PAT 对 Docker Hub 上的镜像执行 docker manifest inspect 时的凭证范围问题。docker/cli#4512
  • 修复 docker events 不支持 --format=json 的问题。docker/cli#4544

打包更新

24.0.5

2023-07-24

有关此版本中拉取请求和更改的完整列表,请参阅相关的 GitHub 里程碑:

错误修复和增强

  • Go 客户端现在避免在 HTTP Host: 头部中使用 UNIX 套接字路径,以兼容 go1.20.6 中引入的更改。moby/moby#45962moby/moby#45990
  • containerd 存储后端:修复 Variant 未包含在 docker image inspectGET /images/{name}/json 中的问题。moby/moby#46025
  • containerd 存储后端:防止在镜像导出期间可能发生的内容垃圾回收。moby/moby#46021
  • containerd 存储后端:防止 RepoDigests 中出现重复的摘要条目。moby/moby#46014
  • containerd 存储后端:修复当使用标签和摘要引用的镜像时,操作针对错误的标签执行的问题。moby/moby#46013
  • containerd 存储后端:修复使用旧版构建器构建容器时 EXPOSE 导致的 panic。moby/moby#45921
  • 修复在非 Swarm 节点上尝试创建 overlay 网络时返回不直观错误的回归问题。moby/moby#45974
  • 正确报告解析命令行卷规范的错误。docker/cli#4423
  • 修复当 CLI 配置文件中存在 auths: null 时导致的 panic。docker/cli#4450

打包更新

24.0.4

2023-07-07

有关此版本中拉取请求和更改的完整列表,请参阅相关的 GitHub 里程碑:

错误修复和增强

  • 修复 24.0.3 引入的回归问题,该问题导致带有绑定挂载的容器在实时恢复期间发生 panic。moby/moby#45903

24.0.3

2023-07-06

有关此版本中拉取请求和更改的完整列表,请参阅相关的 GitHub 里程碑:

错误修复和增强

  • containerd 镜像存储:修复多平台镜像不包含默认平台清单时无法交互的问题。moby/moby#45849
  • containerd 镜像存储:修复容器构建中尝试缓存 FROM scratch 的假象。moby/moby#45822
  • containerd 镜像存储:修复 docker cp 在无法多次挂载相同内容的快照器上失败的问题。moby/moby#45780moby/moby#45786
  • containerd 镜像存储:修复使用 type=image 构建时未正确解包/存储的问题。moby/moby#45692
  • containerd 镜像存储:修复 docker load 中错误地尝试解包伪镜像(包括 attestations)的问题。moby/moby#45688
  • containerd 镜像存储:正确设置用户代理,并在与注册表交互时包含快照器等附加信息。moby/moby#45671moby/moby#45684
  • containerd 镜像存储:修复在快照器之间切换后无法解包已拉取内容的问题。moby/moby#45678
  • containerd 镜像存储:修复已重新打标签或所有标签已被移除的镜像在使用中被修剪的问题。moby/moby#45857
  • 修复 Swarm CSI 问题,其中 Topology 字段未传播到 NodeCSIInfo。moby/moby#45810
  • 修复由于 raft 日志过大导致添加新 Swarm 管理器失败的问题。moby/moby#45703moby/swarmkit#3122moby/swarmkit#3128
  • name_to_handle_at(2) 现在在默认 seccomp 配置文件中始终允许。moby/moby#45833
  • 修复阻止加密 Swarm overlay 网络在非默认端口(4789)上工作的问题。moby/moby#45637
  • 修复在实时恢复期间无法恢复挂载引用计数的问题。moby/moby#45824
  • 修复实时恢复期间各种网络相关故障。moby/moby#45658moby/moby#45659
  • 修复当守护程序意外终止时,正在运行的容器以零(成功)退出状态恢复的问题。moby/moby#45801
  • 修复执行健康检查探测时可能发生的 panic。moby/moby#45798
  • 修复容器 exec 启动中竞争条件导致的 panic。moby/moby#45794
  • 修复将终端附加到不存在命令的 exec 时导致的异常。moby/moby#45643
  • 通过将 IP 作为标签传递(还需要 docker/buildx#1894)修复 BuildKit 中的 host-gatewaymoby/moby#45790
  • 修复 POST /containers/{id}/stop 在请求被取消时会强制终止容器的问题,而不是等待指定的超时时间进行“优雅”停止。moby/moby#45774
  • 修复 docker cp -a 从根目录 (/) 失败的问题。moby/moby#45748
  • 通过更正确地设置 OCI 配置中的资源约束参数,提高与非 runc 容器运行时的兼容性。moby/moby#45746
  • 修复在某些配置(例如 LDAP)中 rootless 模式下重叠的 subuid/subgid 范围导致的问题。moby/moby#45747rootless-containers/rootlesskit#369
  • 大大降低在填充 GET /info 的 Debug 部分时的 CPU 和内存使用率。moby/moby#45856
  • 修复当只有客户端处于调试模式时,docker info 未正确打印调试信息的问题。docker/cli#4393
  • 修复通过 SSH 连接到主机时,与挂起连接相关的问题。docker/cli#4395

打包更新

24.0.2

2023-05-26

有关此版本中拉取请求和更改的完整列表,请参阅相关的 GitHub 里程碑:

错误修复和增强

  • 修复在引用本地标记镜像时构建期间发生的 panic。moby/buildkit#3899moby/moby#45582
  • 修复在执行许多并发构建阶段时构建可能因 exit code: 4294967295 而失败的问题。moby/moby#45620
  • 修复 Windows 上的 DNS 解析忽略 etc/hosts (%WINDIR%\System32\Drivers\etc\hosts) 的问题,包括 localhost 的解析。moby/moby#45562
  • 应用 containerd 错误的工作区,该错误导致并发 docker exec 命令花费的时间明显长于预期。moby/moby#45625
  • containerd 镜像存储:修复镜像 Created 字段包含不正确值的问题。moby/moby#45623
  • containerd 镜像存储:调整镜像拉取进度的输出,使输出格式与 containerd 镜像存储是否启用无关。moby/moby#45602
  • containerd 镜像存储:默认和 containerd 镜像存储之间的切换现在需要守护程序重启。moby/moby#45616

打包更新

24.0.1

2023-05-19

有关此版本中拉取请求和更改的完整列表,请参阅相关的 GitHub 里程碑:

已移除

  • 删除 24.0 主要版本中移除的存储驱动程序的 CLI 自动补全。docker/cli#4302

错误修复和增强

  • 修复 DNS 查询 NXDOMAIN 回复从外部服务器转发给客户端为 SERVFAIL 的问题。moby/moby#45573
  • 修复 docker pull --platform 报告 No such image 针对指向相同镜像的另一个标签的问题。moby/moby#45562
  • 修复不安全注册表配置在配置重新加载期间被遗忘的问题。moby/moby#45571
  • containerd 镜像存储:修复没有层的镜像未在 docker images -a 中列出的问题。moby/moby#45588
  • API:修复 GET /images/{id}/json 返回 null 而不是空的 RepoTagsRepoDigests 的问题。moby/moby#45564
  • API:修复 POST /commit 不接受空请求体的问题。moby/moby#45568

打包更新

24.0.0

2023-05-16

有关此版本中拉取请求和更改的完整列表,请参阅相关的 GitHub 里程碑:

新增

  • 引入 containerd 作为内容存储的实验性支持(取代现有存储驱动程序)。moby/moby#43735其他 moby/moby pull requests
  • CLI 标志 --host 现在支持 ssh:// 主机地址中的路径组件,允许在远程主机上无需配置即可使用备用套接字路径。docker/cli#4073
  • docker info CLI 命令现在报告版本和平台字段。docker/cli#4180
  • 引入守护程序标志 --default-network-opt 来配置新创建网络的选项。moby/moby#43197
  • 在默认 seccomp 配置文件中限制对 socket(2) 系统调用族的 AF_VSOCK 的访问。moby/moby#44562
  • 引入对在容器上设置 OCI 运行时注释的支持。docker/cli#4156moby/moby#45025
  • 现在可以在 daemon.json 中配置替代运行时,从而实现运行时名称别名和选项传递。moby/moby#45032
  • docker-init 二进制文件现在除了 PATH 之外,还将在符合 FHS 标准的 libexec 目录中被发现。moby/moby#45198
  • API:在 GET /info 中显示守护程序级别的 --no-new-privilegesmoby/moby#45320

已移除

  • docker info 不再报告 IndexServiceAddressdocker/cli#4204
  • libnetwork:移除过时内核版本的回退代码。moby/moby#44684moby/moby#44802
  • libnetwork:移除与经典 Swarm 相关的未使用代码。moby/moby#44965
  • libnetwork:从加密的 Swarm overlay 网络中移除 xt_u32 内核模块的使用。moby/moby#45281
  • 移除对 BuildKit 弃用的 buildinfo 的支持,转而使用标准出处证明。moby/moby#45097
  • 移除弃用的 AUFS 和传统 overlay 存储驱动程序。moby/moby#45342moby/moby#45359
  • 移除弃用的 overlay2.override_kernel_check 存储驱动程序选项。moby/moby#45368
  • 从 AppArmor 配置文件中移除过时版本 apparmor_parser 的变通方法。moby/moby#45500
  • API:GET /images/json 不再将空的 RepoTags 和 RepoDigests 表示为 <none>:<none>/<none>@<none>。在 API >= 1.43 上将返回空数组。moby/moby#45068

已弃用

  • 弃用 --oom-score-adjust 守护程序选项。moby/moby#45315
  • API:弃用 GET /images/jsonGET /images/{id}/json 中的 VirtualSize 字段。moby/moby#45346

错误修复和增强

打包更新

© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.