Docker Engine 版本 27 发布说明

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

有关更多信息:

27.4

Docker Engine 版本 27.4 的发布说明。

27.4.1

2024-12-18

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

Bug修复和增强

  • 修复未配置OTel时的过度内存分配问题。 moby/moby#49079
  • 当在守护进程启动时禁用bridge-nf-call-iptablesbridge-nf-call-ip6tables时,docker info命令和相应的GET /info API端点不再包含警告。现在在需要时会尝试加载br_netfilter内核模块,这使得这些警告不再准确。 moby/moby#49090
  • 尝试加载内核模块,包括在需要时使用可能在Docker-in-Docker容器内成功的方法加载ip6_tablesbr_netfiltermoby/moby#49043
  • 修复了一个可能导致iptables DOCKER FILTER链在失败时未被清理的bug。 moby/moby#49110

包装更新

27.4.0

2024-12-09

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

API

  • GET /images/json 启用了 manifests 选项后,现在会保留清单在清单索引中出现的原始顺序。 moby/moby#48712

Bug fixes and enhancements

  • 当使用jsonfilelocal日志驱动程序读取日志时,尝试读取或解析底层日志文件时出现的任何错误将导致跳过文件的其余部分并移动到下一个日志文件(如果存在),而不是向客户端返回错误并关闭流。这些错误可以在Docker守护程序日志中查看,并在配置跟踪时导出到跟踪中。 moby/moby#48842
  • 在读取日志文件时,压缩的日志文件现在只在需要时解压缩,而不是在启动日志流之前解压缩所有文件。 moby/moby#48842
  • 修复了一个问题,该问题意味着在桥接网络上,如果内核的br_netfilter模块未加载并启用,且userland-proxy被禁用,则无法从同一网络上的另一个容器访问一个容器的已发布端口。守护进程现在将在创建禁用用户代理的网络时尝试加载模块并启用bridge-nf-call-iptablesbridge-nf-call-ip6tablesmoby/moby#48685
  • 修复加载bridgebr_netfilter内核模块的问题。 moby/moby#48966
  • containerd 镜像存储:修复 Docker 守护进程在使用 containerd 快照器和大量构建/镜像时无法完全启动并出现“上下文截止时间超出错误”的问题。 moby/moby#48954
  • containerd 镜像存储:修复部分拉取的镜像未被垃圾回收的问题。 moby#48910, moby/moby#48957
  • containerd 镜像存储:修复 docker image inspectRepoDigests 中输出重复引用的问题。 moby/moby#48785
  • containerd 镜像存储:修复在某些情况下由于非TLS相关错误导致HTTPS请求失败时无法连接到某些不安全注册表的问题。 moby/moby#48758
  • containerd 镜像存储:在标记一个非悬空镜像时移除一个令人困惑的警告日志。 moby/moby#49010
  • containerd 镜像存储:在 docker image ls --tree 中不要下划线名称。 docker/cli#5519
  • containerd 镜像存储:将 docker image ls --tree 中的 USED 列名称更改为 IN USEdocker/cli#5518
  • dockerd-rootless-setuptool.sh install --force 现在忽略 RootlessKit 错误 moby/moby#48695
  • 禁用分配给属于桥接网络的桥接的IPv6重复地址检测(DAD)。 moby/moby#48684
  • 移除BuildKit初始化超时。 moby/moby#48963
  • 在ZFS上删除数据集时忽略“数据集不存在”错误。 moby/moby#48968
  • 客户端:防止空闲连接泄漏文件描述符。 moby/moby#48764
  • 修复通过--mount选项创建的匿名卷未被标记为匿名的问题。 moby/moby#48755
  • 在守护进程重启并启用实时恢复后,确保在其它规则之前放置一个跳转到DOCKER-USER链的iptables规则。 moby/moby#48714
  • 修复了由OTel仪表引起的可能的内存泄漏。 moby/moby#48693
  • 为每个镜像存储创建独立的构建历史数据库。 moby/moby#48688
  • 修复了一个在紧密循环中进行DNS解析时导致内存使用过多的问题。 moby/moby#48840
  • 修复了一个在docker run期间无法取消镜像拉取的错误。 docker/cli#5654
  • 如果凭据没有更改,docker logindocker logout 命令不再更新配置文件。 docker/cli#5569
  • 优化 docker stats 以减少闪烁问题。 docker/cli#5588, docker/cli#5635
  • 修复无法访问的插件路径,防止插件被检测到。 docker/cli#5652
  • 在cobra生成的shell自动补全中添加对events --filter的支持。 docker/cli#5614
  • 修复了events --filter daemon=的bash自动补全功能。 docker/cli#5563
  • 改进docker rm的容器shell补全功能。 docker/cli#5540
  • --platform标志添加shell补全。 docker/cli#5540
  • rootless: 使/etc/cdi/var/run/cdi对容器设备接口(CDI)集成可访问。 moby/moby#49027

已移除

  • 弃用 Daemon.Exists()Daemon.IsPaused()。这些函数不再使用,并将在下一个版本中移除。 moby/moby#48719
  • 弃用 container.ErrNameReservedcontainer.ErrNameNotReservedmoby/moby#48697
  • 弃用 pkg/platform - 此包仅内部使用,将在下一个版本中移除。 moby/moby#48863
  • 弃用 RepositoryInfo.Class。此字段不再使用,并将在下一个版本中移除。 moby/moby#49013
  • Go SDK: 修复了自 v27.2.1 以来已被弃用的 cli/command.ConfigureAuth() 的弃用问题。 docker/cli#5552
  • Go SDK: 弃用 cli.Errors 类型,转而使用 Go 的 errors.Join docker/cli#5548

包装更新

27.3

Docker Engine 版本 27.3 的发布说明。

27.3.1

2024-09-20

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

Bug 修复和增强功能

包装更新

27.3.0

2024-09-19

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

Bug fixes and enhancements

  • containerd 镜像存储:修复 docker image prune -a 取消标记由容器使用的镜像,这些容器是从通过摘要引用的镜像启动的。 moby/moby#48488
  • 在守护进程选项中添加一个--feature标志。 moby/moby#48487
  • 更新了--gpus=0标志的处理方式,以与NVIDIA容器运行时保持一致。 moby/moby#48483
  • 支持WSL2镜像模式网络使用接口loopback0处理来自Windows主机的数据包。 moby/moby#48514
  • 修复了一个问题,该问题在运行--iptables=false--ip6tables=true(默认值)时,阻止了在IPv4桥接网络上的容器之间的通信,当主机上的br_netfilter内核模块通常未加载时,防火墙对转发的数据包有DROP规则。 moby/moby#48511
  • CLI: 修复了在没有传递参数/卷时,docker volume update 命令会导致 CLI 崩溃的问题。 docker/cli#5426
  • CLI: 在Windows的WSL环境中运行时正确报告指标。 docker/cli#5432

包装更新

27.2

Docker Engine 版本 27.2 的发布说明。

27.2.1

2024-09-09

Bug修复和增强

  • containerd 镜像存储:修复了非容器镜像在 docker image ls 输出中被隐藏的问题。 moby/moby#48402
  • containerd 镜像存储:当镜像平台不匹配时,改进 docker pull 的错误信息。 moby/moby#48415
  • CLI: 修复导致 docker login 无法从传入的注册表地址中移除仓库名称的问题,从而导致凭据存储在错误的键下。 docker/cli#5385
  • CLI: 修复了在等待用户认证时,如果CLI进程被挂起然后恢复,有时会导致浏览器登录流程失败的问题。 docker/cli#5376
  • CLI: docker login 现在如果非交互式调用时使用了 --password--password-stdin 但没有使用 --user,则会返回错误而不是挂起。 docker/cli#5402

包装更新

27.2.0

2024-08-27

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

此版本中的新功能包括:

设备代码登录

此版本增加了在向Docker Hub进行身份验证时使用设备代码登录的支持。

您仍然可以使用用户名和密码或访问令牌的旧方法登录,但设备代码登录更安全,并且不需要您在CLI中输入密码。

device-code-login
Device code login

要使用旧方法,请使用 docker login -u

多平台支持 docker image ls

实验性

This is experimental and may change at any time without any backward compatibility.

启用containerd镜像存储后,docker image ls命令(或docker images简写)现在支持--tree标志,该标志现在显示镜像是否为多平台镜像。

API

  • GET /images/json 响应现在包括 Manifests 字段,该字段包含有关图像索引中包含的子清单的信息。这包括特定平台的清单和构建证明等内容。

    新字段只有在请求同时将manifests查询参数设置为true时才会被填充。

    实验性

    This is experimental and may change at any time without any backward compatibility.

Bug fixes and enhancements

  • CLI: 修复了通过SSH远程上下文时CLI会在连接到远程主机时分配伪终端的问题,这在极少数情况下会导致问题。 docker/cli#5351
  • 修复了一个问题,该问题阻止了使用以64位边界结尾的--ip-range创建网络。 moby/moby#48326
  • CLI: 由docker ps显示的IPv6地址在端口绑定中现在被括号括起来。 docker/cli#5365
  • containerd 镜像存储:修复在解压镜像失败的情况下,docker load 提前错误退出的问题。 moby/moby#48376
  • containerd 镜像存储:修复在 docker pull 后之前的镜像未作为悬空镜像持久化的问题。 moby/moby#48380

包装更新

已知问题

  • There is a known issue when authenticating against a registry in the Docker CLI (docker login [registry address]) where, if the provided registry address includes a repository/image name (such as docker login index.docker.io/docker/welcome-to-docker), the repository part (docker/welcome-to-docker) is not normalized and results in credentials being stored incorrectly, which causes subsequent pulls from the registry (docker pull index.docker.io/docker/welcome-to-docker) to not be authenticated. To prevent this, don't include any extraneous suffix in the registry address when running docker login.

    注意

    使用docker login时,包含URL路径段的地址不是一个文档化的用例,并且被认为是不受支持的。推荐的用法是仅指定注册表主机名,并可选地指定端口,作为docker login的地址。

27.1

Docker Engine 版本 27.1 的发布说明。

27.1.2

2024-08-13

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

Bug fixes and enhancements

  • 修复了一个回归问题,该问题可能导致在从大型Dockerfile构建时出现ResourceExhausted desc = grpc: received message larger than max错误。 moby/moby#48245
  • CLI: 修复 docker attach 打印一个虚假的 context cancelled 错误信息。 docker/cli#5296
  • CLI: 修复 docker attachSIGINT 时退出,而不是将信号转发到容器并等待其退出的问题。 docker/cli#5302
  • CLI: 修复 --device-read-bps--device-write-bps 选项未生效的问题。 docker/cli#5339
  • CLI: 修复在某些情况下运行插件时发生的崩溃问题。 docker/cli#5337

包装更新

27.1.1

2024-07-23

安全

此版本包含针对 CVE-2024-41110 / GHSA-v23v-6jw2-98fq 的修复,该问题影响了使用 授权插件 (AuthZ) 进行访问控制的设置。此版本未包含其他更改,对于不使用 AuthZ 插件的用户,此版本在其他方面是相同的。

包装更新

27.1.0

2024-07-22

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

错误修复和增强功能

  • rootless: 添加 Requires=dbus.socket 以防止在使用 systemd 的 cgroup v2 主机上启动守护进程时出现错误 moby/moby#48141
  • containerd 集成:使用 BuildKit 构建镜像时,现在正确发出 image tag 事件 moby/moby#48182
  • CLI: 为 docker image rm, docker image history, 和 docker image inspect 启用 shell 自动补全 moby/moby#5261
  • CLI: 添加和改进各种标志的 shell 自动补全 moby/moby#5261
  • CLI: 在 docker service createdocker stack 中添加 OOMScoreAdj docker/cli#5274
  • CLI: 添加对 DOCKER_CUSTOM_HEADERS 环境变量的支持(实验性) docker/cli#5271
  • CLI: containerd-integration: 修复在不支持的API版本上,docker push 默认将 --platform 标志设置为 DOCKER_DEFAULT_PLATFORM 环境变量的值 docker/cli#5248
  • CLI: 修复: 在login提示时取消上下文 docker/cli#5260
  • CLI: 修复:在向CLI发送终止请求时,等待容器退出后再关闭流,当附加到容器时 docker/cli#5250

已弃用

  • pkg/rootless/specconv 包已弃用,并将在下一个版本中移除 moby/moby#48185
  • pkg/containerfs 包已被弃用,并将在下一个版本中移除 moby/moby#48185
  • pkg/directory 包已被弃用,并将在下一个版本中移除 moby/moby#48185
  • api/types/system: 移除已弃用的 Info.ExecutionDriver moby/moby#48184

包装更新

27.0

Docker Engine 27.0 的发布说明。

27.0.3

2024-07-01

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

Bug修复和增强

  • 修复了一个回归问题,该问题错误地将从主机IPv6地址到仅支持IPv4的容器的端口映射报告为错误。 moby/moby#48090
  • 修复了一个在创建网络时导致子网分配重复的回归问题。 moby/moby#48089
  • 修复了一个回归问题,该问题导致在支持用户命名空间的原生覆盖系统上尝试拉取启用了无根模式的镜像时,出现fail to register layer: failed to Lchown错误。 moby/moby#48086

27.0.2

2024-06-27

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

错误修复和增强功能

已移除

  • api/types: 弃用 ContainerJSONBase.Node 字段和 ContainerNode 类型。这些定义曾用于独立(“经典”)的 Swarm API,但从未在 Docker Engine 本身中实现。 moby/moby#48055

27.0.1

2024-06-24

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

  • containerd 镜像存储:为 docker image push 添加 --platform 标志,并改进当多平台镜像的所有平台在本地不可用时的默认行为。 docker/cli#4984, moby/moby#47679
  • 为服务网络中的driver_opts添加对docker stack deploy的支持。 docker/cli#5125
  • 在查找以docker-为前缀的用户态代理二进制文件时,考虑额外的/usr/local/libexec/usr/libexec路径。 moby/moby#47804

Bug修复和增强

  • *client.Client 实例现在总是可以安全地被多个 goroutine 并发使用。以前,当使用 WithAPIVersionNegotiation() 选项时,可能会导致数据竞争。 moby/moby#47961
  • 修复了一个导致Docker CLI在某些情况下泄漏$TMPDIR中Unix套接字的错误。 docker/cli#5146
  • 不要在使用--privileged时忽略自定义的seccomp配置文件。 moby/moby#47500
  • rootless: overlay2: 支持在使用rootless模式时,使用Linux内核版本5.11及更高版本的原生overlay差异。 moby/moby#47605
  • 修复 StartInterval 的默认值,使其反映文档中记录的 5s 值。 moby/moby#47799
  • 修复当用户取消操作时(例如使用Ctrl+C),docker savedocker load 在守护进程端未结束的问题。 moby/moby#47629
  • 容器的StartedAt属性现在在容器启动之前记录,确保StartedAt始终在FinishedAt之前。 moby/moby#47003
  • Windows 容器在 Windows 上使用的内部 DNS 解析器现在默认将请求转发到外部 DNS 服务器。这使得 nslookup 能够解析外部主机名。此行为可以通过 daemon.json 禁用,使用 "features": { "windows-dns-proxy": false }。此配置选项将在未来的版本中移除。 moby/moby#47826
  • 当CLI没有权限读取配置文件时打印警告。 docker/cli#5077
  • 修复了容器附加时的goroutine和文件描述符泄漏问题。 moby/moby#45052
  • 在守护进程启动期间清除所有已停止或已死亡容器的网络状态。 moby/moby#47984
  • 原子地写入卷选项JSON,以避免系统崩溃后出现“无效JSON”错误。 moby/moby#48034
  • 允许具有相同父级的多个macvlan网络。 moby/moby#47318
  • 允许在支持BuildKit的Windows守护程序上使用BuildKit。 docker/cli#5178

网络

  • 允许在容器创建和网络连接期间为每个接口设置sysctls。 moby/moby#47686
    • 在未来的版本中,这将是设置每个接口sysctl选项的唯一方式。 例如,在docker run命令的命令行中,--network mynet --sysctl net.ipv4.conf.eth0.log_martians=1将被拒绝。 相反,您必须使用--network name=mynet,driver-opt=com.docker.network.endpoint.sysctls=net.ipv4.conf.IFNAME.log_martians=1
IPv6
  • ip6tables 不再处于实验阶段。如果其他功能不需要,您可以移除 experimental 配置选项并继续使用 IPv6。
  • ip6tables 现在默认在 Linux 桥接网络中启用。 moby/moby#47747
    • 这使得 IPv4 和 IPv6 的行为保持一致,并减少了启用 IPv6 的容器意外暴露在网络中的风险。
    • 如果您在启用 ip6tables(新默认值)的情况下运行 Docker Engine,则不会有任何影响。
    • 如果您在没有 ip6tables 的情况下使用启用 IPv6 的桥接网络,这可能会是一个破坏性更改。只有发布的容器端口(-p--publish)可以从 Docker 桥接网络外部访问,并且出站连接会伪装为主机。
    • 要恢复早期版本的行为,完全不使用 ip6tables,请在 daemon.json 中设置 "ip6tables": false,或使用 CLI 选项 --ip6tables=false。或者,保持 ip6tables 启用,发布端口,并启用直接路由。
    • 在启用 ip6tables 的情况下,如果主机上的 ip6tables 无法正常工作,Docker Engine 将启动,但无法创建启用 IPv6 的网络。
IPv6 网络配置改进
  • 如果未手动配置此参数,或者它不包含IPv6前缀,则会自动将唯一的本地地址(ULA)基础前缀添加到default-address-pools中。 moby/moby#47853
    • 在此版本之前,要创建支持IPv6的网络,必须使用--subnet选项指定IPv6子网,或将IPv6范围添加到daemon.json中的default-address-pools
    • 从本版本开始,当使用--ipv6创建桥接网络且这些选项未定义IPv6子网时,将使用IPv6唯一的本地地址(ULA)基础前缀。
    • ULA前缀源自引擎主机ID,因此它在主机之间和随时间推移都是唯一的。
  • 现在可以将任何大小的IPv6地址池添加到default-address-pools中。 moby/moby#47768
  • 现在可以在所有自定义桥接网络上默认启用IPv6,通过在daemon.json中使用"default-network-opts": { "bridge": {"com.docker.network.enable_ipv6": "true"}},或者在命令行中使用dockerd --default-network-opt=bridge=com.docker.network.enable_ipv6=truemoby/moby#47867
  • 为IPv6网络直接路由,启用ip6tablesmoby/moby#47871
    • 添加了桥接驱动选项com.docker.network.bridge.gateway_mode_ipv6=
    • 默认行为nat与之前启用了ip6tables的版本相同。为每个发布的容器端口设置了NAT和伪装规则。
    • 当设置为routed时,不会为发布的端口配置NAT或伪装规则。如果主机的网络可以将容器的地址路由到主机,这将启用直接IPv6访问容器。发布的端口将在容器的防火墙中打开。
    • 当端口映射仅适用于routed模式时,只允许地址0.0.0.0::,并且不能指定主机端口。
    • 请注意,如果网络设置了路由,除非Docker主机的防火墙有额外的限制,否则在natrouted模式下发布的容器端口可以从任何远程地址访问。例如:docker network create --ipv6 -o com.docker.network.bridge.gateway_mode_ipv6=routed mynet
    • 选项com.docker.network.bridge.gateway_mode_ipv4=也可用,行为相同但适用于IPv4。
  • 如果主机上运行着firewalld,Docker会创建策略docker-forwarding以允许从任何区域转发到docker区域。这使得配置具有可路由IPv6地址的桥接网络成为可能,且无需NAT或伪装。 moby/moby#47745
  • 当发布端口时未指定主机端口,或给出了主机端口范围时,将为IPv4和IPv6分配相同的端口。 moby/moby#47871
    • 例如,-p 80 将为 0.0.0.0:: 分配相同的临时端口,而 -p 8080-8083:80 将为两个地址族从范围中选择相同的端口。
    • 同样,发布到特定地址的端口将分配相同的端口。例如,-p 127.0.0.1::80 -p '[::1]::80'
    • 如果所有所需地址上都没有可用的端口,容器创建将失败。
  • 环境变量 DOCKER_ALLOW_IPV6_ON_IPV4_INTERFACE,在版本26.1.1中引入,不再有任何效果。 moby/moby#47963
    • 如果由于只读的 /proc/sys/net 无法在接口上禁用IPv6,环境变量允许容器无论如何启动。
    • 在此版本中,如果无法为接口禁用IPv4,可以通过在创建网络时使用 --ipv6 显式启用IPv6。其他解决方法包括配置操作系统以默认在新接口上禁用IPv6,挂载 /proc/sys/net 为读写,或使用不支持IPv6的内核。
  • 对于支持IPv6的桥接网络,不要尝试用fe80::1替换桥接的内核分配的链路本地地址。 moby/moby#47787

已移除

  • 弃用实验性的GraphDriver插件。 moby/moby#48050, docker/cli#5172
  • pkg/archive: 弃用 NewTempArchiveTempArchive。这些类型仅在测试中使用,并将在下一个版本中移除。 moby/moby#48002
  • pkg/archive: 弃用 CanonicalTarNameForPath moby/moby#48001
  • 弃用 pkg/dmesg。此包已不再使用,并将在下一个版本中移除。 moby/moby#47999
  • 弃用 pkg/stringid.ValidateIDpkg/stringid.IsShortID moby/moby#47995
  • runconfig: 弃用 SetDefaultNetModeIfBlank 并将 ContainerConfigWrapper 移动到 api/types/container moby/moby#48007
  • runconfig: 弃用 DefaultDaemonNetworkMode 并移至 daemon/network moby/moby#48008
  • runconfig: 弃用 opts.ConvertKVStringsToMap。此实用程序不再使用,并将在下一个版本中移除。 moby/moby#48016
  • runconfig: 弃用 IsPreDefinedNetwork. moby/moby#48011

API

  • containerd 镜像存储:POST /images/{name}/push 现在支持一个 platform 参数(JSON 编码的 OCI 平台类型),允许从多平台镜像中选择特定的平台清单。这是实验性的,可能会在未来的 API 版本中更改。 moby/moby#47679
  • POST /services/createPOST /services/{id}/update 现在支持 OomScoreAdjmoby/moby#47950
  • ContainerList api 返回容器注释。 moby/moby#47866
  • POST /containers/createPOST /services/create 现在接受 Options 作为 HostConfig.Mounts.TmpfsOptions 的一部分,允许为 tmpfs 挂载设置选项。 moby/moby#46809
  • 当使用低于v1.44的API版本更新Swarm服务时,Healthcheck.StartInterval属性现在被正确忽略。 moby/moby#47991
  • GET /events 现在支持 create 事件,该事件在新镜像构建时触发,无论是否被标记。 moby/moby#47929
  • GET /info 现在包含一个 Containerd 字段,该字段包含有关 containerd API 套接字位置以及守护程序用于运行容器和插件的 containerd 命名空间的信息。 moby/moby#47239
  • 弃用镜像检查输出中的非标准(配置)字段。此端点返回的Config字段(用于docker image inspect)返回了不属于镜像配置的额外字段,也不属于 Docker 镜像规范OCI 镜像规范。这些字段从未设置(并且总是返回类型的默认值),但在响应中为空时不会被省略。由于这些字段本不应成为镜像配置响应的一部分,它们已被弃用,并将在未来的API版本中移除。
  • 弃用守护进程标志 --api-cors-header 和相应的 daemon.json 配置选项。这些将在下一个主要版本中移除。 moby/moby#45313

以下已弃用的字段目前包含在API响应中,但不是底层图像的Config的一部分: moby/moby#47941

  • Hostname
  • Domainname
  • AttachStdin
  • AttachStdout
  • AttachStderr
  • Tty
  • OpenStdin
  • StdinOnce
  • Image
  • NetworkDisabled(除非设置,否则已省略)
  • MacAddress(除非设置,否则已省略)
  • StopTimeout(除非设置,否则已省略)

Go SDK 变更

  • 以下函数的客户端API回调现在需要一个上下文参数。 moby/moby#47536
    • client.RequestPrivilegeFunc
    • client.ImageSearchOptions.AcceptPermissionsFunc
    • image.ImportOptions.PrivilegeFunc
  • 移除已弃用的Image类型别名。 moby/moby#47900
    • ImageImportOptions
    • ImageCreateOptions
    • ImagePullOptions
    • ImagePushOptions
    • ImageListOptions
    • ImageRemoveOptions
  • github.com/docker/go-units.Ulimit引入Ulimit类型别名。 API中使用的Ulimit类型定义在一个Go模块中,该模块将在未来迁移到新位置。 添加类型别名是为了减少将类型移动到新位置时带来的摩擦。 别名确保现有代码继续工作,但其定义可能会在未来发生变化。 建议用户使用此别名,而不是直接使用units.Ulimitmoby/moby#48023

移动和重命名类型,更改它们的导入路径和导出的名称。 moby/moby#47936, moby/moby#47873, moby/moby#47887, moby/moby#47882, moby/moby#47921, moby/moby#48040

  • 将以下类型移动到api/types/container
    • BlkioStatEntry
    • BlkioStats
    • CPUStats
    • CPUUsage
    • ContainerExecInspect
    • ContainerPathStat
    • ContainerStats
    • ContainersPruneReport
    • CopyToContainerOptions
    • ExecConfig
    • ExecStartCheck
    • MemoryStats
    • NetworkStats
    • PidsStats
    • StatsJSON
    • Stats
    • StorageStats
    • ThrottlingData
  • 将以下类型移动到 api/types/image
    • ImagesPruneReport
    • ImageImportSource
    • ImageLoadResponse
  • ExecStartOptions类型移动到api/types/backend
  • VolumesPruneReport类型移动到api/types/volume
  • EventsOptions类型移动到api/types/events
  • ImageSearchOptions类型移动到api/types/registry
  • 删除Network前缀并将以下类型移动到api/types/network
    • NetworkCreateResponse
    • NetworkConnect
    • NetworkDisconnect
    • NetworkInspectOptions
    • EndpointResource
    • NetworkListOptions
    • NetworkCreateOptions
    • NetworkCreateRequest
    • NetworksPruneReport
  • NetworkResource移动到api/types/network

包装更新

27.0.0

由于在GitHub上预发布27.0.0-rc.1时出现错误,导致创建了v27.0.0标签,因此没有27.0.0版本发布。 不幸的是,该标签已经被 Go 模块镜像 获取,因此无法干净地更改v27.0.0。 为了解决这个问题,27.0.1将成为27.0的第一个发布版本。