Docker Engine 26.0 发行说明

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

有关以下内容的更多信息:

26.0.2

2024-04-18

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

安全

此版本包含 CVE-2024-32473 的安全修复程序,CVE-2024-32473 是仅 IPv4 接口上的 IPv6 意外配置。

错误修复和增强功能

26.0.1

2024-04-11

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

错误修复和增强功能

  • 修复意味着特定于网络接口的回归--sysctl选项阻止容器启动。白鲸/白鲸#47646
  • 删除 erroneousplatform从镜像configOCI 描述符docker save输出。白鲸/白鲸#47694
  • containerd 镜像存储:由docker save现在将具有非空mediaType字段输入index.json 白鲸/白鲸#47701
  • 修复了阻止内部解析器将请求从 IPvlan L3 网络转发到外部解析器的回归。白鲸/白鲸#47705
  • 防止在未指定父接口的情况下创建的 IPvlan 和 Macvlan 网络中使用外部解析程序。白鲸/白鲸#47705

打包更新

26.0.0

2024-03-20

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

安全

此版本包含 CVE-2024-29018 的安全修复程序,CVE-2024-29018 可能通过权威 DNS 服务器从“内部”网络泄露数据。

新增功能

  • Subpath字段设置为VolumeOptions使得挂载卷的子路径成为可能。白鲸/白鲸#45687
  • volume-subpath支持挂载标志 (--mount type=volume,...,volume-subpath=<subpath>).docker/cli 命令 #4331
  • 接受分隔符和=[ipv6]在 编写文件 中docker stack deploy.docker/cli #4860 命令
  • rootless:通过设置DOCKERD_ROOTLESS_ROOTLESSKIT_DISABLE_HOST_LOOPBACK环境变量设置为false(默认为true).这允许容器使用 IP 地址连接到主机10.0.2.2.白鲸/白鲸#47352
  • containerd 镜像存储:docker image ls不再为多平台镜像创建重复条目。白鲸/白鲸 #45967
  • containerd 镜像存储:发送 Prometheus 指标。白鲸/白鲸#47555

错误修复和增强功能

  • CVE-2024-29018:不要将仅连接到“内部”网络的容器的请求转发到外部 DNS 服务器。以前,如果主机的 DNS 服务器在环回地址(如 systemd 的 127.0.0.53)上运行,则会转发请求。白鲸/白鲸#47589

  • 确保在重启容器时不恢复生成的 MAC 地址,但保留配置的 MAC 地址。白鲸/白鲸 #47233

    警告

    使用 Docker Engine 25.0.0 创建的容器可能具有重复的 MAC 地址,必须重新创建它们。 使用版本 25.0.0 或 25.0.1 创建的具有用户定义 MAC 地址的容器将在使用 25.0.2 启动时生成 MAC 地址。还必须重新创建它们。

  • 始终尝试在容器的环回接口上启用 IPv6,并且仅在/etc/hosts如果成功。白鲸/白鲸#47062

    注意

    默认情况下,当容器未连接到支持 IPv6 的网络时,IPv6 将在容器的环回接口上保持启用状态。 例如,仅连接到纯 IPv4 网络的容器现在具有::1地址。

    要在容器中禁用 IPv6, 使用选项--sysctl net.ipv6.conf.all.disable_ipv6=1createrun命令 或同等sysctlsCompose 文件的 service configuration 部分中的选项。

    如果 IPv6 在容器中不可用,因为已为容器显式禁用 IPv6,则 或者主机的网络堆栈未启用 IPv6(或出于任何其他原因) 容器的/etc/hosts文件将不包含 IPv6 条目。

  • 修复ADDDockerfile 指令失败,并显示lsetxattr <file>: operation not supported当使用 xattr 将 archive 解压缩到不支持它们的文件系统上时。白鲸/白鲸#47175

  • 修复docker container start与 一起使用时失败--checkpoint.白鲸/白鲸#47456

  • 恢复内部桥接网络上的主机和容器之间的 IP 连接。白鲸/白鲸#47356

  • 不要对现有 swarm 网络强制实施新的验证规则。白鲸/白鲸#47361

  • 恢复 Windows 上默认 “nat” 网络中容器的 DNS 名称。白鲸/白鲸 #47375

  • 调用时打印提示docker image ls带有模棱两可的论点。docker/cli #4849

  • 清理@docker_cli_[UUID]文件。docker/cli 命令 #4862

  • 在不使用 TLS 的远程 TCP 连接时添加显式弃用通知消息。docker/cli#4928moby/moby#47556

  • 使用主机的 IPv6 名称服务器resolv.conf作为 Docker Engine 内部 DNS 的上游解析器,而不是在容器的resolv.conf.白鲸/白鲸#47512

  • containerd 镜像存储:在以下情况下隔离具有不同 containerd 命名空间的镜像--userns-remap选项。白鲸/白鲸#46786

  • containerd 镜像存储:修复镜像拉取不发出的问题Pulling fs layer地位。白鲸/白鲸#47432

应用程序接口

  • 为了保持向后兼容性,在使用较旧的客户端(API 版本 < v1.44)时,只读挂载默认不是递归的。白鲸/白鲸#47391
  • GET /images/{id}/json省略了Created字段(以前是0001-01-01T00:00:00Z) 如果Created字段。白鲸/白鲸#47451
  • 填充缺失的Created字段输入GET /images/{id}/json0001-01-01T00:00:00Z对于 API 版本 <= 1.43。白鲸/白鲸#47387
  • is_automated字段中的POST /images/searchendpoint results 始终为false现在。因此,搜索is-automated=true不会产生任何结果,而is-automated=false将是无作。白鲸/白鲸#47465
  • 删除ContainerContainerConfig字段中的GET /images/{name}/json响应。白鲸/白鲸 #47430

打包更新

删除

  • 删除ContainerContainerConfig字段中的GET /images/{name}/json响应。白鲸/白鲸 #47430

  • 弃用接受没有 TLS 的远程 TCP 连接的功能。弃用通知 docker/cli#4928 moby/moby#47556

  • 删除已弃用的 API 版本(API < v1.24)moby/moby#47155

  • 默认情况下,禁用拉取已弃用的镜像格式。这些镜像格式已弃用,并且在将来的版本中将删除支持。白鲸/白鲸#47459

  • 图片:删除已弃用的 IDFromDigest moby/moby#47198

  • 移除已弃用的github.com/docker/docker/pkg/loopback包。白鲸/白鲸#47128

  • pkg/system:删除已弃用ErrNotSupportedOperatingSystem,IsOSSupported 白鲸/白鲸 #47129

  • pkg/homedir:删除已弃用的 Key() 和 GetShortcutString() moby/moby#47130

  • pkg/containerfs:删除已弃用的 ResolveScopedPath moby/moby#47131

  • 守护进程标志--oom-score-adjust在 v24.0 中已弃用,现已删除。白鲸/白鲸#46113

  • 从 api/types 包中删除已弃用的别名。这些类型在 v25.0.0 中已弃用,它提供了临时别名。白鲸/白鲸#47148这些别名现已删除:types.Info,types.Commit,types.PluginsInfo,types.NetworkAddressPool,types.Runtime,types.SecurityOpt,types.KeyValue,types.DecodeSecurityOptions,types.CheckpointCreateOptions,types.CheckpointListOptions,types.CheckpointDeleteOptions,types.Checkpoint,types.ImageDeleteResponseItem,types.ImageSummary,types.ImageMetadata,types.ServiceUpdateResponse,types.ServiceCreateResponse,types.ResizeOptions,types.ContainerAttachOptions,types.ContainerCommitOptions,types.ContainerRemoveOptions,types.ContainerStartOptions,types.ContainerListOptions,types.ContainerLogsOptions

  • cli/command/container:删除已弃用的NewStartOptions() docker/cli 命令 #4811

  • cli/command:删除已弃用DockerCliOption,InitializeOpt docker/cli #4810 命令