Docker Engine 20.10 版本说明

本文档描述了Docker Engine版本20.10的最新变化、新增功能、已知问题和修复。

20.10.24

2023-04-04

更新

Bug修复和增强

  • 修复了导致Swarm加密覆盖网络无法维持其保证的多个问题,解决了 CVE-2023-28841, CVE-2023-28840, 和 CVE-2023-28842.
    • 现在,缺乏对加密覆盖网络的内核支持将报告为错误。
    • 加密覆盖网络现在会急切地设置,而不是等待多个节点连接。
    • 通过使用xt_bpf内核模块,加密覆盖网络现在可以在Red Hat Enterprise Linux 9上使用。
    • Swarm覆盖网络的用户应查看 GHSA-vwm3-crmr-xfxw 以确保没有发生意外的暴露。
  • 升级 github.com/containerd/fifo 到 v1.1.0 以修复潜在的 panic moby/moby#45216.
  • 修复已安装的cli-plugins缺少Bash补全功能 docker/cli#4091.

20.10.23

2023-01-19

此版本的 Docker Engine 包含了更新版本的 Docker Compose、Docker Buildx、containerd,以及一些小的错误修复和增强功能。

更新

Bug fixes and enhancements

  • 修复了一个问题,当启用BuildKit时,使用--add-host=host.docker.internal:host-gateway会导致docker build失败 moby/moby#44650.

  • 恢复seccomp:在默认配置文件中阻止对AF_VSOCK的套接字调用 moby/moby#44712.

    这一更改,虽然从安全角度来看是有利的,但在某些使用场景中导致了行为的改变。因此,我们正在将其恢复,以确保受影响用户的稳定性和兼容性。

    然而,使用AF_VSOCK的容器用户应该认识到,这个(特殊的)地址族目前在Linux内核的任何版本中都没有被命名空间化,可能会导致意外行为,例如容器直接与主机虚拟机管理程序通信。

    未来的版本将过滤AF_VSOCK。需要允许容器通过未命名空间的AF_VSOCK进行通信的用户将需要关闭seccomp限制或设置自定义的seccomp配置文件。

20.10.22

2022-12-16

此版本的 Docker Engine 包含了更新版本的 Docker Compose、Docker Scan、containerd,以及一些小的错误修复和增强功能。

更新

错误修复和增强功能

  • 在尝试拉取不支持的图像格式或OCI工件时,改进错误消息 moby/moby#44413, moby/moby#44569.
  • 修复了在为容器选择随机端口时忽略主机的临时端口范围的问题 moby/moby#44476.
  • 修复在使用 OpenSSH 8.9 或更高版本的主机上执行 docker build 时出现的 ssh: parse error in message type 27 错误 moby/moby#3862.
  • seccomp: 在默认配置文件中阻止对 AF_VSOCK 的套接字调用 moby/moby#44564.

20.10.21

2022-10-25

此版本的Docker Engine包含了更新版本的Docker Compose、Docker Scan、containerd,新增了适用于Ubuntu 22.10的软件包,以及一些小的错误修复和增强功能。

  • 为Ubuntu 22.10(Kinetic Kudu)提供软件包。
  • 添加对Docker Hub的allow-nondistributable-artifacts支持 moby/moby#44313.

更新

  • 更新 Docker Compose 到 v2.12.2.
  • 更新 Docker Scan 至 v0.21.0.
  • 更新 containerd (containerd.io 包) 至 v1.6.9.
  • 更新捆绑的BuildKit版本以修复output clipped, log limit 1MiB reached错误 moby/moby#44339.

Bug修复和增强功能

  • 移除bash补全中--platform的实验性门控 docker/cli#3824.
  • 修复了在Windows上从旧版CLI注册Docker Engine作为服务时出现的Invalid standard handle identifier恐慌 moby/moby#44326.
  • 修复在Windows上的Cygwin中运行Git命令的问题 moby/moby#44332.

20.10.20

2022-10-18

此版本的Docker Engine包含对Git漏洞的部分缓解措施 ( CVE-2022-39253), 并更新了image:tag@digest镜像引用的处理方式。

Git漏洞允许恶意构建的Git仓库在作为构建上下文时,将任意文件系统路径复制到生成的容器/镜像中;这可能在守护进程和API客户端中发生,具体取决于使用的版本和工具。

此版本中以及守护进程API的其他使用者中可用的缓解措施是部分的,仅保护构建Git URL上下文的用户(例如git+protocol://)。由于漏洞仍可能通过手动运行的与子模块交互并检出的Git命令被利用,用户应立即升级到已修补的Git版本以防范此漏洞。更多详细信息可从GitHub博客获取("Git安全漏洞公告")。

更新

  • 更新 Docker Compose 到 v2.12.0.
  • 更新了image:tag@digest引用的处理方式。当使用image:tag@digest(“通过摘要拉取”)拉取镜像时,镜像解析通过内容可寻址的摘要进行,而不使用imagetag。虽然这是预期的行为,但这可能会导致混淆的行为,并可能通过社会工程学手段利用已经在本地镜像存储中的镜像。Docker现在会检查摘要是否与用于拉取镜像的仓库名称匹配,否则将产生错误。
  • 更新了image:tag@digest引用的处理方式。详情请参阅上文的“守护进程”部分。

错误修复和增强功能

20.10.19

2022-10-14

此版本的Docker Engine附带了一些错误修复,以及更新版本的Docker Compose。

更新

错误修复和增强功能

  • 修复了一个在docker builder prunedocker system prune期间可能导致恐慌的问题 moby/moby#44122.
  • 修复了一个错误,当使用docker volume prune时,如果守护进程以“实时恢复”模式运行并重新启动,会删除仍在使用的卷moby/moby#44238

20.10.18

2022-09-09

此版本的Docker Engine包含一个低严重性安全问题的修复, 一些小的错误修复,以及Docker Compose、Docker Buildx、 containerdrunc的更新版本。

更新

错误修复和增强功能

  • 为Docker Compose添加Bash自动补全功能 docker/cli#3752.
  • 修复了一个在构建过程中文件能力未保留的问题 moby/moby#43876.
  • 修复了一个可能导致并发地图读取和地图写入引起的恐慌问题 moby/moby#44067.
  • 修复了一个与补充组权限相关的安全漏洞,该漏洞可能允许容器进程绕过容器内的主要组限制 CVE-2022-36109, GHSA-rc4r-wh2q-q6c4.
  • seccomp: 在默认策略中添加对Landlock系统调用的支持 moby/moby#43991.
  • seccomp: 更新默认策略以支持内核5.12 - 5.16中引入的新系统调用 moby/moby#43991.
  • 修复了一个问题,该问题会导致镜像清单的缓存查找失败,从而导致冗余的往返镜像注册表 moby/moby#44109.
  • 修复了一个问题,当exec进程和健康检查超时时,它们没有被终止 moby/moby#44018.

20.10.17

2022-06-06

此版本的Docker Engine附带了更新版本的Docker Compose以及containerdrunc组件,以及一些小的错误修复。

更新

Bug修复和增强功能

  • 在zsh补全脚本中移除docker命令中的星号 docker/cli#3648.
  • 修复Windows端口在主机模式下与发布端口的冲突,适用于overlay网络 moby/moby#43644.
  • 确保性能调优始终应用于libnetwork沙箱 moby/moby#43683.

20.10.16

2022-05-12

此版本的Docker Engine修复了macOS上Docker CLI构建的回归问题,修复了在使用containerd 1.5及以上版本时docker stats的问题,并更新了Go运行时以包含对CVE-2022-29526的修复。

更新

错误修复和增强功能

  • 修复了在20.10.15版本中引入的macOS二进制文件中的回归问题,该问题导致了恐慌docker/cli#43426
  • 修复了在使用containerd 1.5.0或更高版本运行时,docker stats显示空统计信息的问题 moby/moby#43567.
  • docker scan CLI插件使用了“弱”依赖关系,以防止用户从下载的RPM包进行离线安装时出现“冲突请求”错误 docker/docker-ce-packaging#659.

20.10.15

2022-05-05

此版本的 Docker Engine 包含了更新版本的 composebuildxcontainerdrunc 组件,以及一些小的错误修复。

更新

  • 更新 Docker Compose 到 v2.5.0.
  • 更新 Docker Buildx 至 v0.8.2.
  • 更新 Go 运行时到 1.17.9.
  • 更新 containerd (containerd.io 包) 至 v1.6.4.
  • 将runc版本更新至 v1.1.1.

错误修复和增强功能

  • 使用 RWMutex 来保护 stateCounter,以防止潜在的锁争用 moby/moby#43426.
  • 修复了一个问题,该问题导致守护进程在某些情况下无法找到可用的IP范围 moby/moby#43360
  • 为CentOS 9 stream和Fedora 36添加软件包。

已知问题

20.10.14

2022-03-23

此版本的Docker Engine更新了容器的默认可继承能力,以解决 CVE-2022-24769, 新版本的containerd.io运行时也包含在内,以解决相同的问题。

更新

  • 更新默认的可继承能力。
  • 更新构建期间使用的容器的默认可继承功能。
  • 更新 containerd (containerd.io 包) 至 v1.5.11.
  • 更新 docker buildxv0.8.1.

20.10.13

2022-03-10

此版本的Docker Engine包含一些错误修复和打包更改,更新了docker scandocker buildx命令,更新了Go运行时的版本,以及containerd.io运行时的新版本。与此版本一起,我们现在还提供了Docker Compose V2的.deb.rpm包,可以使用(可选的)docker-compose-plugin包进行安装。

  • 为Docker Compose V2提供.deb.rpm包。 Docker Compose v2.3.3 现在可以在Linux上使用docker-compose-plugin包安装,该包在Docker CLI上提供了docker compose子命令。Docker Compose插件也可以独立安装和运行,作为docker-compose(Docker Compose V1)的直接替代品。 docker/docker-ce-packaging#638compose-cli-plugin包也可以在支持CLI插件的旧版本Docker CLI(Docker CLI 18.09及以上)上使用。
  • 为即将发布的Ubuntu 22.04 "Jammy Jellyfish" LTS版本提供软件包 docker/docker-ce-packaging#645, docker/containerd-packaging#271.

更新

  • 更新了捆绑的buildx版本至 v0.8.0.
  • 更新 docker buildxv0.8.0.
  • 更新 docker scan (docker-scan-plugin) 到 v0.17.0.
  • 更新 containerd (containerd.io 包) 至 v1.5.10.
  • 将捆绑的runc版本更新至 v1.0.3.
  • 将Golang运行时更新至Go 1.16.15。
  • 更新了fluentd日志驱动程序,以防止潜在的守护进程崩溃,并防止在使用fluentd-async-connect=true且远程服务器无法访问时容器挂起 moby/moby#43147.

Bug修复和增强

  • 修复更新容器状态时的竞争条件 moby/moby#43166.
  • 更新etcd依赖以防止守护进程错误地持有文件锁 moby/moby#43259
  • 修复在配置默认net.ipv4.ping_group_range sysctl时用户命名空间的检测问题 moby/moby#43084.
  • 如果在拉取镜像时发生连接失败,则重试下载镜像清单 moby/moby#43333.
  • 修复了命令行参考和API文档中的各种问题。
  • 防止在使用“local”日志驱动程序时,对于产生大量日志消息的容器发生OOM(内存不足)错误 moby/moby#43165.

20.10.12

2021年12月13日

此版本的 Docker Engine 仅包含打包方面的更改,并提供了对 docker scandocker buildx 命令的更新。v0.11.0 之前的 docker scan 版本无法检测到 Log4j 2 CVE-2021-44228。 我们在此版本中提供了一个更新版本的 docker scan,以帮助您扫描镜像中的此漏洞。

注意

Linux上的docker scan命令目前仅在x86平台上受支持。 我们尚未为Linux上的其他硬件架构提供包。

docker scan 功能作为一个单独的包提供,根据您的升级或安装方法,'docker scan' 可能不会自动更新到最新版本。使用以下说明将 docker scan 更新到最新版本。您也可以使用这些说明来安装或升级 docker scan 包,而无需升级 Docker 引擎:

在基于.deb的发行版上,例如Ubuntu和Debian:

$ apt-get update && apt-get install docker-scan-plugin

在基于rpm的发行版上,例如CentOS或Fedora:

$ yum install docker-scan-plugin

升级后,请验证您已安装最新版本的 docker scan

$ docker scan --accept-license --version
Version:    v0.12.0
Git commit: 1074dd0
Provider:   Snyk (1.790.0 (standalone))

阅读我们关于CVE-2021-44228的博客文章 了解如何使用docker scan命令检查镜像是否存在漏洞。

包装

  • 更新 docker scanv0.12.0.
  • 更新 docker buildxv0.7.1.
  • 将Golang运行时更新至Go 1.16.12。

20.10.11

2021年11月17日

重要

由于 net/http 更改Go 1.16 中,通过 $HTTP_PROXY 环境变量配置的 HTTP 代理不再用于 TLS (https://) 连接。请确保您还设置了 $HTTPS_PROXY 环境变量以处理对 https:// URL 的请求。请参阅 配置守护程序以使用代理 以了解如何配置 Docker 守护程序以使用代理服务器。

分布

Windows

包装

20.10.10

2021年10月25日

重要

由于 net/http 更改Go 1.16 中,通过 $HTTP_PROXY 环境变量配置的 HTTP 代理不再用于 TLS (https://) 连接。请确保您还设置了 $HTTPS_PROXY 环境变量以处理对 https:// URL 的请求。请参阅 HTTP/HTTPS 代理部分 了解如何配置 Docker 守护程序以使用代理服务器。

Builder

  • 修复平台匹配逻辑以修复在使用BuildKit时,docker build在Arm机器上未找到本地镜像缓存中的镜像的问题 moby/moby#42954

运行时

  • 在默认的seccomp策略中添加对clone3系统调用的支持,以支持基于最新版本的Fedora和Ubuntu运行容器。 moby/moby/#42836.
  • Windows: 更新 hcsshim 库以修复容器层中稀疏文件处理的错误,该错误由 Windows 最近的更改暴露出来 moby/moby#42944.
  • 修复了一些情况下docker stop可能会永远挂起的问题 moby/moby#42956.

Swarm

包装

  • 为Ubuntu 21.10 "Impish Indri"和Fedora 35添加软件包。
  • 更新 docker scan 到 v0.9.0
  • 将Golang运行时更新至Go 1.16.9。

20.10.9

2021年10月4日

此版本是一个安全版本,包含CLI、运行时的安全修复,以及containerd.io包的更新版本。

重要

由于 net/http 更改Go 1.16 中,通过 $HTTP_PROXY 环境变量配置的 HTTP 代理不再用于 TLS (https://) 连接。请确保您还设置了 $HTTPS_PROXY 环境变量以处理对 https:// URL 的请求。请参阅 HTTP/HTTPS 代理部分 了解如何配置 Docker 守护程序以使用代理服务器。

客户端

  • CVE-2021-41092 确保默认的认证配置设置了地址字段,以防止凭据被发送到默认的注册表。

运行时

  • CVE-2021-41089docker cp期间在chroot内创建父目录,以防止特制容器更改主机文件系统中现有文件的权限。
  • CVE-2021-41091 锁定文件权限以防止无权限用户发现并执行/var/lib/docker中的程序。

包装

已知问题

此版本静态包附带的ctr二进制文件不是静态链接的,并且在使用alpine作为基础镜像的Docker镜像中无法运行。用户可以安装libc6-compat包,或者下载旧版本的ctr二进制文件作为临时解决方案。有关此问题的更多详细信息,请参阅相关的containerd问题: containerd/containerd#5824.

  • 将Golang运行时更新到Go 1.16.8,该版本包含对 CVE-2021-36221CVE-2021-39293的修复。
  • 更新静态二进制文件和containerd.io的rpm和deb包至containerd v1.4.11和runc v1.0.2,以解决CVE-2021-41103
  • 更新捆绑的buildx版本至v0.6.3,适用于rpm和deb包。

20.10.8

2021年8月3日

重要

由于 net/http 更改Go 1.16 中,通过 $HTTP_PROXY 环境变量配置的 HTTP 代理不再用于 TLS (https://) 连接。请确保您还设置了 $HTTPS_PROXY 环境变量以处理对 https:// URL 的请求。请参阅 HTTP/HTTPS 代理部分 了解如何配置 Docker Daemon 以使用代理服务器。

弃用

  • 弃用对加密的TLS私钥的支持。根据RFC 1423规定的传统PEM加密在设计上是不安全的。因为它不对密文进行认证,所以容易受到填充预言攻击,攻击者可以恢复明文。对加密的TLS私钥的支持现在被标记为弃用,并将在即将发布的版本中移除。 docker/cli#3219
  • 弃用Kubernetes堆栈支持。随着在Kubernetes上使用Compose的弃用,Docker CLI中的stackcontext命令对Kubernetes的支持现在被标记为弃用,并将在即将发布的版本中移除docker/cli#3174

客户端

  • 修复Windows上的Invalid standard handle identifier错误 docker/cli#3132.

无根

  • 避免在SELinux主机上出现can't open lock file /run/xtables.lock: Permission denied错误 moby/moby#42462.
  • 在运行SELinux时禁用overlay2以防止权限被拒绝错误 moby/moby#42462.
  • 修复在openSUSE Tumbleweed上出现的x509: certificate signed by unknown authority错误 moby/moby#42462.

运行时

  • 当使用--platform选项拉取与指定架构不匹配的单架构镜像时,打印警告 moby/moby#42633
  • 修复在使用cgroups v2运行时,Your kernel does not support swap memory limit警告错误的问题 moby/moby#42479.
  • Windows: 修复了在HcsShutdownComputeSystem返回ERROR_PROC_NOT_FOUND错误时容器未停止的情况 moby/moby#42613

Swarm

  • 修复了一个可能导致IP地址重叠的问题,这是由于节点未能清理其旧的负载均衡器IP地址 moby/moby#42538
  • 修复日志代理中的死锁问题("调度器已停止") moby/moby#42537

打包

已知问题

此版本静态包附带的ctr二进制文件不是静态链接的,因此在使用alpine作为基础镜像的Docker镜像中无法运行。用户可以安装libc6-compat包,或者下载旧版本的ctr二进制文件作为临时解决方案。有关此问题的更多详细信息,请参阅相关的containerd问题: containerd/containerd#5824.

20.10.7

2021-06-02

客户端

  • 抑制弃用的cgroups警告 docker/cli#3099.
  • 防止在Linux和macOS上向容器发送SIGURG信号。Go运行时(从Go 1.14开始)在内部使用SIGURG信号作为中断,以支持可抢占的系统调用。在Docker CLI附加到容器的情况下,这些中断被转发到容器。此修复更改了Docker CLI以忽略SIGURG信号 docker/cli#3107, moby/moby#42421.

构建器

  • 将BuildKit更新至版本v0.8.3-3-g244e8cde moby/moby#42448:
    • 在executor中转换exec mounts的相对挂载点,以解决runc v1.0.0-rc94及以上版本的破坏性更改。 moby/buildkit#2137.
    • 在镜像推送5xx错误时添加重试。 moby/buildkit#2043.
    • 修复在使用通配符的COPY命令复制文件时,重命名文件不会使构建缓存失效的问题。请注意,此更改会使使用通配符的复制命令的现有构建缓存失效。 moby/buildkit#2018.
    • 修复在使用挂载时不会使构建缓存失效的问题 moby/buildkit#2076.
  • 修复在使用旧版模式1镜像时,当FROM镜像未被缓存时导致的构建失败问题 moby/moby#42382.

日志记录

  • 更新 hcsshim SDK 以减少 Windows 上守护进程日志的冗长 moby/moby#42292.

无根

  • 修复了在启用了用户命名空间的守护进程上构建镜像时未遵守功能的问题 moby/moby#42352.

网络

  • 更新libnetwork以修复在具有内核启动参数ipv6.disable=1的环境上发布端口的问题,并修复导致内部DNS查找失败的死锁问题 moby/moby#42413.

贡献

  • 更新 rootlesskit 到 v0.14.2 以修复使用 slirp4netns 端口驱动启动用户态代理时的超时问题 moby/moby#42294.
  • 修复在无根守护进程上运行docker-in-docker时出现的“设备或资源忙”错误 moby/moby#42342.

包装

20.10.6

2021年4月12日

客户端

  • Apple Silicon (darwin/arm64) 对 Docker CLI 的支持 docker/cli#3042
  • config: 当回退到v1.7.0之前的配置文件~/.dockercfg时,打印弃用警告。此文件的支持将在未来的版本中移除 docker/cli#3000

Builder

  • 修复经典构建器静默忽略不支持的Dockerfile选项,并提示启用BuildKit moby/moby#42197

日志记录

网络

  • 修复了docker 20.10中的一个回归问题,该问题导致在映射端口时默认不再绑定IPv6地址 moby/moby#42205
  • 修复API响应中未包含的隐式IPv6端口映射。在Docker 20.10之前,默认情况下,发布的端口可以通过IPv4和IPv6访问,但API仅包含有关IPv4(0.0.0.0)映射的信息 moby/moby#42205
  • 修复了docker 20.10中的一个回归问题,导致docker-proxy在所有情况下都无法终止 moby/moby#42205
  • 修复在容器移除时未清理iptables转发规则的问题 moby/moby#42205

包装

插件

  • 修复了docker插件创建导致插件与旧版本Docker不兼容的问题 moby/moby#42256

无根

20.10.5

2021-03-02

客户端

  • 恢复 docker/cli#2960 以修复在 docker start --attach 中的挂起问题,并移除虚假的 Unsupported signal: . Discarding 消息。 docker/cli#2987

20.10.4

2021年2月26日

构建器

  • 修复了带有空层的行内缓存导入的缓存匹配错误 moby/moby#42061
  • 更新 BuildKit 到 v0.8.2 moby/moby#42061
    • 解析器:避免在获取令牌时缓存错误
    • 文件操作:修复校验和以包含输入索引,防止某些缓存未命中
    • 修复带有挂载引用的类型错误的引用计数问题(修复 invalid mutable ref 错误)
    • git:仅为主要远程访问设置令牌,允许使用不同凭据克隆子模块
  • 确保在拉取后删除/var/lib/docker/buildkit/content/blobs/sha256中的blobs。要清理旧状态,请运行builder prune moby/moby#42065
  • 修复并行拉取同步回归 moby/moby#42049
  • 确保libnetwork状态文件不泄露 moby/moby#41972

客户端

  • 修复了在没有配置文件的情况下执行docker login时的崩溃问题 docker/cli#2959
  • 修复 WARNING: Error loading config file: .dockercfg: $HOME is not defined docker/cli#2958

运行时

Logger

  • 即使未设置labels,也遵守labels-regex配置 moby/moby#42046
  • 正确处理长日志消息,防止awslogs在非阻塞模式下拆分大于16kB的事件 mobymoby#41975

无根

安全

  • 配置文件:seccomp:更新至Linux 5.11系统调用列表 moby/moby#41971

Swarm

  • 修复重启后心跳不持久的问题 moby/moby#42060
  • 修复潜在的任务停滞问题 moby/moby#42060
  • 修复当仅提供--update-order--rollback-order时的--update-order--rollback-order标志 docker/cli#2963
  • 修复 docker service rollback 在某些情况下返回非零退出代码的问题 docker/cli#2964
  • 修复docker service rollback中进度条方向不一致的问题 docker/cli#2964

20.10.3

2021-02-01

安全

  • CVE-2021-21285 防止无效镜像导致docker守护进程崩溃
  • CVE-2021-21284 锁定文件权限以防止重新映射的根用户访问docker状态
  • 确保在使用BuildKit构建时应用AppArmor和SELinux配置文件

客户端

  • 在导入上下文之前检查它们,以减少提取的文件逃逸上下文存储的风险
  • Windows: 防止从当前目录执行某些二进制文件 docker/cli#2950

20.10.2

2021年1月4日

运行时

  • 修复了一个守护进程启动时挂起的问题,该问题发生在恢复具有重启策略但持续启动失败的容器时 moby/moby#41729
  • overlay2: 修复了一个当 data-root 长度为 24 字节时导致无法构建或运行容器的差一错误 moby/moby#41830
  • systemd: 在关闭时发送 sd_notify STOPPING=1 moby/moby#41832

网络

Swarm

  • 修复replicated-jobglobal-job服务模式的过滤问题 moby/moby#41806

包装

20.10.1

2020年12月14日

构建器

包装

20.10.0

2020年12月8日

弃用 / 移除

有关所有已弃用功能的概述,请参阅 已弃用的引擎功能 页面。

API

  • 更新API版本至v1.41
  • 不需要为指标API要求“实验性” moby/moby#40427
  • GET /events 现在在修剪资源完成后返回 prune 事件 moby/moby#41259
    • 修剪事件返回给 containernetworkvolumeimagebuilder,并且有一个 reclaimed 属性,表示回收的空间量(以字节为单位)
  • 添加 one-shot 统计选项以不预先加载统计信息 moby/moby#40478
  • 将操作系统版本信息添加到系统信息的API中 (/info) moby/moby#38349
  • 将DefaultAddressPools添加到docker信息中 moby/moby#40714
  • 为服务的PidsLimit添加API支持 moby/moby#39882

构建器

客户端

  • 向CLI添加群集作业支持 docker/cli#2262
  • 添加 -a/--all-tags 到 docker push docker/cli#2220
  • 添加对Kubernetes用户名/密码认证的支持 docker/cli#2308
  • 添加 --pull=missing|always|neverruncreate 命令 docker/cli#1498
  • 添加 --env-file 标志到 docker exec 以便从文件中解析环境变量 docker/cli#2602
  • --tail选项添加简写-n docker/cli#2646
  • 将日志驱动程序和选项添加到服务检查的“漂亮”格式中 docker/cli#1950
  • docker run: 使用 --cgroupns 指定 cgroup 命名空间模式 docker/cli#2024
  • docker manifest rm 命令用于从本地存储中移除清单列表草稿 docker/cli#2449
  • 将“context”添加到“docker version”和“docker info”中 docker/cli#2500
  • 将平台标志传播到容器创建API docker/cli#2551
  • docker ps --format 标志现在有一个 .State 占位符,用于打印容器的状态,而不包含有关运行时间和健康检查的额外详细信息 docker/cli#2000
  • 添加对docker-compose schema v3.9的支持 docker/cli#2073
  • 添加对 docker push --quiet 的支持 docker/cli#2197
  • 如果启用了BuildKit,则隐藏BuildKit不支持的标志 docker/cli#2123
  • 更新docker rm -v的标志描述,以澄清该选项仅删除匿名(未命名)卷 docker/cli#2289
  • 改进docker服务的任务打印 docker/cli#2341
  • docker info: 按字母顺序列出CLI插件 docker/cli#2236
  • 修复了在docker service update上处理--label-add/--label-rm--container-label-add/--container-label-rm--env-add/--env-rm标志的顺序,以允许替换现有值 docker/cli#2668
  • 修复 docker rm --force 如果一个或多个容器不存在时返回非零退出代码的问题 docker/cli#2678
  • 通过使用total_inactive_file而不是cache来改进内存统计显示 docker/cli#2415
  • 缓解YAML文件中存在过多别名的问题 docker/cli#2117
  • 允许在设置配置或秘密时仅使用源字段的高级语法 docker/cli#2243
  • 修复读取包含usernamepassword认证的配置文件,即使auth为空 docker/cli#2122
  • docker cp: 防止在无法统计目标时发生NPE docker/cli#2221
  • config: 保留配置文件的拥有权和权限 docker/cli#2228

日志记录

  • 支持使用所有日志驱动程序读取docker logs(尽力而为) moby/moby#40543
  • 添加splunk-index-acknowledgment日志选项,以与启用索引确认的Splunk HEC一起工作 moby/moby#39987
  • 向journald日志添加部分元数据 moby/moby#41407
  • 减少日志文件读取器的分配 moby/moby#40796
  • Fluentd: 添加 fluentd-async, fluentd-request-ack, 并弃用 fluentd-async-connect moby/moby#39086

运行时

网络

包装

无根

安全

  • 修复 CVE-2019-14271 在 Glibc 下 chroot 内加载基于 nsswitch 的配置 moby/moby#39612
  • seccomp: 白名单 clock_adjtime。时间调整仍然需要 CAP_SYS_TIME moby/moby#40929
  • seccomp: 将openat2和faccessat2添加到默认的seccomp配置文件中 moby/moby#41353
  • seccomp: 在默认的seccomp配置文件中允许'rseq'系统调用 moby/moby#41158
  • seccomp: 允许系统调用 membarrier moby/moby#40731
  • seccomp: 白名单 io-uring 相关的系统调用 moby/moby#39415
  • 添加默认的sysctls以允许无权限的ping套接字和特权端口 moby/moby#41030
  • 修复克隆系统调用的seccomp配置文件 moby/moby#39308

Swarm