Docker Engine 20.10 发行说明

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

20.10.24

2023-04-04

更新

  • 将 Go 运行时更新至 1.19.7
  • 将 Docker Buildx 更新至 v0.10.4
  • 将 containerd 更新至 v1.6.20
  • 将 runc 更新至 v1.1.5

错误修复和增强

  • 修复了多个可能导致 Swarm 加密覆盖网络无法维持其保证的问题,解决了 CVE-2023-28841CVE-2023-28840CVE-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,以及一些小的错误修复和增强。

更新

错误修复和增强

  • 修复了在使用 --add-host=host.docker.internal:host-gateway 且启用了 BuildKit 时 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#44413moby/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

错误修复和增强

  • 移除了 bash 补全中 --platform 的实验性门槛 docker/cli#3824
  • 修复了在 Windows 上从旧版 CLI 注册 Docker Engine 为服务时出现的 Invalid standard handle identifier panic 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 期间导致 panic 的问题 moby/moby#44122
  • 修复了一个 bug,即如果守护进程以“实时恢复”模式运行并被重启,使用 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
  • 修复了由并发 map 读写可能导致的 panic 问题 moby/moby#44067
  • 修复了与附加组权限相关的安全漏洞,该漏洞可能允许容器进程绕过容器内的主要组限制 CVE-2022-36109GHSA-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 组件,以及一些小的错误修复。

更新

错误修复和增强

  • 从 zsh 补全脚本中移除 docker 命令的星号 docker/cli#3648
  • 修复 Windows 在主机模式下覆盖网络中已发布端口的端口冲突问题 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 二进制文件中的一个回归问题,该问题导致了 panic 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

错误修复和增强

  • 为 stateCounter 使用 RWMutex 以防止潜在的锁定拥塞 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 buildx 更新至 v0.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 现在可以使用 docker-compose-plugin 包在 Linux 上安装,该包在 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 buildx 更新至 v0.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

错误修复和增强

  • 修复更新容器状态时的竞争条件 moby/moby#43166
  • 更新 etcd 依赖以防止守护进程错误地持有文件锁 moby/moby#43259
  • 修复配置默认 net.ipv4.ping_group_range sysctl 时用户命名空间的检测问题 moby/moby#43084
  • 如果在拉取镜像期间发生连接失败,则重试下载镜像清单 moby/moby#43333
  • 命令行参考和 API 文档中的各种修复。
  • 防止在使用“本地”日志驱动程序且容器产生大量日志消息时出现 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 Engine。

在基于 .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 scan 更新至 v0.12.0
  • docker buildx 更新至 v0.7.1
  • 将 Golang 运行时更新至 Go 1.16.12。

20.10.11

2021-11-17

重要

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

分发

Windows

打包

20.10.10

2021-10-25

重要

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

构建器

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

运行时

  • 在默认 seccomp 策略中添加对 clone3 系统调用的支持,以支持运行基于最新版本 Fedora 和 Ubuntu 的容器。moby/moby/#42836
  • Windows:更新 hcsshim 库以修复容器层中稀疏文件处理的 bug,该 bug 是由 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-04

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

重要

由于 Go 1.16net/http 的更改,通过 $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-08-03

重要

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

弃用

  • 弃用对加密 TLS 私钥的支持。RFC 1423 中规定的传统 PEM 加密在设计上是不安全的。因为它不对密文进行身份验证,所以容易受到填充 oracle 攻击,从而让攻击者恢复明文。对加密 TLS 私钥的支持现在被标记为已弃用,并将在即将发布的版本中移除。docker/cli#3219
  • 弃用 Kubernetes 堆栈支持。继 Compose on Kubernetes 被弃用之后,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
  • 修复了日志代理中的死锁(“dispatcher is stopped”)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
    • 在执行器中转换 exec 挂载的相对挂载点,以解决 runc v1.0.0-rc94 及以上版本中的一个破坏性更改。moby/buildkit#2137
    • 在镜像推送出现 5xx 错误时添加重试机制。moby/buildkit#2043
    • 修复了当重命名一个使用带通配符的 COPY 命令复制的文件时,构建缓存未被无效化的问题。请注意,此更改会使使用通配符的复制命令的现有构建缓存无效。moby/buildkit#2018
    • 修复了使用挂载时构建缓存未被无效化的问题 moby/buildkit#2076
  • 修复了在使用旧版 schema 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-04-12

客户端

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

构建器

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

日志记录

网络

  • 修复了 docker 20.10 中的一个回归问题,该问题导致映射端口时默认不再绑定 IPv6 地址 moby/moby#42205
  • 修复隐式 IPv6 端口映射未包含在 API 响应中的问题。在 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 plugin create 创建的插件与旧版 Docker 不兼容的问题 moby/moby#42256

无根模式

20.10.5

2021-03-02

客户端

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

20.10.4

2021-02-26

构建器

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

客户端

  • 修复了在没有配置文件的情况下 docker login 出现的 panic docker/cli#2959
  • 修复 WARNING: Error loading config file: .dockercfg: $HOME is not defined docker/cli#2958

运行时

记录器

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

无根模式

安全性

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 锁定文件权限以防止重新映射的 root 访问 docker 状态
  • 确保在使用 BuildKit 构建时应用 AppArmor 和 SELinux 配置文件

客户端

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

20.10.2

2021-01-04

运行时

  • 修复了当恢复具有重启策略但一直启动失败的容器时,守护进程启动挂起的问题 moby/moby#41729
  • overlay2:修复一个导致在数据根目录长度为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-08

弃用/移除

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

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 info moby/moby#40714
  • 为服务添加 PidsLimit 的 API 支持 moby/moby#39882

构建器

客户端

  • 向 CLI 添加 swarm 作业支持 docker/cli#2262
  • 向 docker push 添加 -a/--all-tags docker/cli#2220
  • 添加对 Kubernetes 用户名/密码认证的支持 docker/cli#2308
  • runcreate 命令添加 --pull=missing|always|never docker/cli#1498
  • docker exec 添加 --env-file 标志,用于从文件解析环境变量 docker/cli#2602
  • --tail 选项添加简写 -n docker/cli#2646
  • 将日志驱动程序和选项添加到 service inspect 的“美化”格式中 docker/cli#1950
  • docker run: 使用 --cgroupns 指定 cgroup 命名空间模式 docker/cli#2024
  • 新增 docker manifest rm 命令,用于从本地存储中移除 manifest 列表草稿 docker/cli#2449
  • 将“context”添加到“docker version”和“docker info”中 docker/cli#2500
  • 将 platform 标志传播到容器创建 API docker/cli#2551
  • docker ps --format 标志现在有一个 .State 占位符,用于打印容器状态,而不包含有关运行时间和健康检查的额外细节 docker/cli#2000
  • 添加对 docker-compose v3.9 模式的支持 docker/cli#2073
  • 添加对 docker push --quiet 的支持 docker/cli#2197
  • 如果 BuildKit 已启用,则隐藏 BuildKit 不支持的标志 docker/cli#2123
  • 更新 docker rm -v 的标志描述,以阐明该选项仅移除匿名(未命名)卷 docker/cli#2289
  • 改进 docker services 的任务打印 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
  • 修复了即使 auth 为空也能读取包含 usernamepassword 认证的配置文件的问题 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 以允许在没有 capabilities 的情况下使用 ping 套接字和特权端口 moby/moby#41030
  • 修复 clone 系统调用的 seccomp 配置文件 moby/moby#39308

Swarm

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