Docker 引擎 19.03 发行说明
2015年3月19日
2021-02-01
安全
- CVE-2021-21285防止无效映像导致 docker 守护进程崩溃
- CVE-2021-21284锁定文件权限以防止重新映射的根访问 docker 状态
- 确保使用 BuildKit 构建时应用 AppArmor 和 SELinux 配置文件
客户
- 在导入之前检查上下文,以降低提取的文件逃离上下文存储的风险
2014年3月19日
2020-12-01
安全
- CVE-2020-15257:将 containerd 的捆绑静态二进制文件更新为 v1.3.9 moby/moby#41731。包管理器应该更新containerd.io包。
建设者
- apparmor 的 Beta 版本现在可以正确解析,防止构建失败 moby/moby#41542
联网
- 修复 swarmkit 服务始终无法启动 moby/moby 时的恐慌#41635
运行
- 返回正确的错误而不是虚假的 -EINVAL moby/moby#41293
无根
- 锁定状态目录以防止被 systemd-tmpfiles moby/moby 自动清理 #41635
- dockerd-rootless.sh:支持新的 containerd shim 套接字路径约定 moby/moby#41557
记录
- gcplogs:修复内存/连接泄漏 moby/moby#41522
- awslogs:支持 AWS imdsv2 moby/moby#41494
2013年3月19日
2020-09-16
建设者
- buildkit:修复缓存逻辑中的 nil 取消引用 moby/moby#41279
- buildkit:在 COPY/ADD moby/moby#41269期间将 Unix 套接字视为常规文件
- buildkit:在计算中忽略系统和安全 xattrs 以确保一致的 COPY 缓存,无论 SELinux 环境如何 moby/moby#41222
- buildkit:使
--cache-from
行为更加可靠 moby/moby#41222 - buildkit:修复导出缓存 moby/moby 时无限循环烧毁 CPU 的问题 #41185
客户
- 凹凸 Golang 1.13.15 docker/cli#2674
- 修复配置文件权限问题 (~/.docker/config.json) docker/cli#2631
- 构建:修复高度为零的终端上的恐慌 docker/cli#2719
- windows:修复控制台docker/cli中换行符的潜在问题 #2623
联网
- 清理失败的网络沙箱 moby/moby#41081
- 通过将截止日期相关的错误转发给用户 moby/moby#41312来修复浅层错误消息
- 修复 netns 文件描述符 moby/moby 的泄漏#41287
无根
- 修复端口转发器资源泄漏 moby/moby#41277
运行
- 凹凸 Golang 1.13.15 moby/moby#41334
- 更新至containerd 1.3.7 moby/moby#40408
Windows
- 修复使用 servercore 映像moby/moby时 Windows 容器启动时间缓慢的问题 #41192
2012年3月19日
2020-06-18
客户
- 修复使用多个配置文件时阻止从注册表注销的错误(例如使用 Docker Desktop 时的 Windows 与 WSL2) docker/cli#2592
- 修复阻止读取上下文元数据的回归 docker/cli#2586
- 凹凸 Golang 1.13.12 docker/cli#2575
联网
- 修复了阻止守护进程在 systemd-nspawn 环境中启动的回归 moby/moby#41124 moby/libnetwork#2567
- 修复在 swarm 中创建覆盖网络的重试逻辑 moby/moby#41124 moby/libnetwork#2565
运行
- 凹凸 Golang 1.13.12 moby/moby#41082
2011年3月19日
2020-06-01
网络
禁用 IPv6 路由器通告以防止地址欺骗。 CVE-2020-13401
描述
在 Docker 默认配置中,容器网络接口是通往主机的虚拟以太网链路(veth 接口)。在此配置中,能够在容器中以 root 身份运行进程的攻击者可以使用该CAP_NET_RAW
功能(默认配置中存在)向主机发送和接收任意数据包。
如果主机上没有完全禁用 IPv6(通过ipv6.disable=1
内核命令行),它将在某些接口上取消配置或配置,但 ipv6 转发很可能被禁用,即/proc/sys/net/ipv6/conf//forwarding == 0
。同样默认情况下,/proc/sys/net/ipv6/conf//accept_ra == 1
.这 2 个 sysctl 的组合意味着主机接受路由器通告并使用它们配置 IPv6 堆栈。
通过从容器发送“恶意”路由器通告,攻击者可以重新配置主机,将主机的部分或全部 IPv6 流量重定向到攻击者控制的容器。
即使之前没有 IPv6 流量,如果 DNS 返回 A (IPv4) 和 AAAA (IPv6) 记录,许多 HTTP 库将首先尝试通过 IPv6 连接,然后回退到 IPv4,从而为攻击者提供响应的机会。如果主机碰巧存在类似于go年 apt 中的 RCE (CVE-2019-3462) 的漏洞,攻击者现在可以升级到该主机。
由于CAP_NET_ADMIN
Docker 容器默认不存在,攻击者无法配置他们想要的 MitM IP,他们无法使用 iptables 进行 NAT 或重定向流量,并且他们无法使用IP_TRANSPARENT
.然而,攻击者仍然可以CAP_NET_RAW
在用户空间中使用和实现 tcp/ip 堆栈。
相关问题请参阅 kubernetes/kubernetes#91507 。
2010年3月19日
2020-05-29
客户
- 修复与旧引擎的版本协商。 泊坞窗/cli#2538
- 避免通过主机名设置 SSH 标志。 泊坞窗/cli#2560
- 修复 DOCKER_CLI_EXPERIMENTAL 无效时出现的恐慌。 泊坞窗/cli#2558
- 通过升级 Go 到 1.13.11 避免 s390x 上潜在的恐慌。 泊坞窗/cli#2532
联网
- 修复 DNS 回退回归。 莫比/莫比#41009
运行
- 通过升级 Go 到 1.13.11 避免 s390x 上潜在的恐慌。 莫比/莫比#40978
包装
- 修复 ARM64 上的 ARM 构建。 莫比/莫比#41027
19.03.9
2020-05-14
建设者
- buildkit:修复并行构建多个图像时并发映射写入恐慌。 莫比/莫比#40780
- buildkit:修复了防止在用户的阶段之间对非 root 拥有的文件进行 chown 的问题。 莫比/莫比#40955
- 避免在 Windows 上创建不相关的临时文件。 莫比/莫比#40877
客户
- 修复单字符卷上的恐慌。 泊坞窗/cli#2471
- 惰性守护程序功能检测以避免简单命令长时间超时。 泊坞窗/cli#2442
- Windows 上的 docker context 检查现在速度更快。 泊坞窗/cli#2516
- 碰撞 Golang 1.13.10。 泊坞窗/cli#2431
- 将 gopkg.in/yaml.v2 升级到 v2.2.8。 泊坞窗/cli#2470
记录
- 避免由于关闭已关闭的日志文件而导致容器日志无法轮转的情况。 莫比/莫比#40921
联网
- 修复重新启动时潜在的恐慌。 莫比/莫比#40809
- 将正确的网络值分配给默认网桥子网字段。 莫比/莫比#40565
运行
- 修复在 /etc/subuid 和 /etc/subgid 中创建具有 UID 的命名空间时 docker 崩溃的问题。 莫比/莫比#40562
- 完善ARM平台匹配。 莫比/莫比#40758
- overlay2:显示支持文件系统。 莫比/莫比#40652
- 将 CRIU 更新至 v3.13“Silicon Willet”。 莫比/莫比#40850
- 仅在成功回退时显示注册表 v2 schema1 弃用警告,而不是任何注册表错误。 莫比/莫比#40681
- 对 Windows 上的日志文件使用 FILE_SHARE_DELETE。 莫比/莫比#40563
- 碰撞 Golang 1.13.10。 莫比/莫比#40803
无根
- 现在 rootlesskit-docker-proxy 返回有关公开特权端口的详细错误消息。 莫比/莫比#40863
- 支持 /etc/subuid 和 /etc/subgid 中的数字 ID。 莫比/莫比#40951
安全
- apparmor:为用户添加缺少的规则。 莫比/莫比#40564
- SElinux:修复重新标记时未检测到的 ENOTSUP 错误。 莫比/莫比#40946
一群
- 提高记录器的重新填充率,以避免挂在服务日志上。 莫比/莫比#40628
- 修复了重启后单个 Swarm Manager 陷入 Down 状态的问题。 莫比/莫比#40831
- tasks.db 不再无限增长。 莫比/莫比#40831
19.03.8
2020-03-10
运行
- 改进了某些 nscd 配置的CVE-2019-14271缓解措施 。
19.03.7
2020-03-03
建设者
- builder-next:修复极端情况下的死锁问题。 莫比/莫比#40557
运行
- 覆盖:删除 modprobe 执行程序。 莫比/莫比#40462
- selinux:设置文件标签时显示更好的错误消息。 莫比/莫比#40547
- 加快初始统计数据收集。 莫比/莫比#40549
- 无根:使用 XDG_CONFIG_HOME 中的 certs.d。 莫比/莫比#40461
- 凹凸 Golang 1.12.17。 莫比/莫比#40533
- 将 google.golang.org/grpc 升级到 v1.23.1。 莫比/莫比#40566
- 将 containerd 二进制文件更新到 v1.2.13。 莫比/莫比#40540
- 防止将已停止的容器显示为在边缘情况下运行。 莫比/莫比#40555
- 防止潜在的锁定。 莫比/莫比#40604
客户
- 凹凸 Golang 1.12.17。 泊坞窗/cli#2342
- 将 google.golang.org/grpc 升级到 v1.23.1。 docker/cli#1884 docker/cli#2373
19.03.6
2020-02-12
建设者
- builder-next:允许使用现代符号哈希进行 ssh 转发。 Docker/引擎#453
- builder-next:触发后清除onbuild规则。 Docker/引擎#453
- builder-next:修复启用用户名空间时的目录权限问题。 莫比/莫比#40440
- 碰撞 hcssshim 以修复 Windows 1903 上的 docker 构建失败问题。docker /engine#429
联网
- 缩短 exec-root 中的控制器 ID,以免达到 UNIX_PATH_MAX。 Docker/引擎#424
- 修复 drivers/overlay/encryption.go 中的恐慌。 Docker/引擎#424
- 修复我们和 udev 之间的 hwaddr 设置竞争。 Docker/引擎#439
运行
- 凹凸 Golang 1.12.16。 莫比/莫比#40433
- 将 containerd 二进制文件更新到 v1.2.12。 莫比/莫比#40433
- 更新至 runc v1.0.0-rc10。 莫比/莫比#40433
- 修复 Lgetxattr 中可能出现的运行时恐慌。 Docker/引擎#454
- rootless:修复代理 UDP 数据包。 Docker/引擎#434
19.03.5
2019-11-14
建设者
- builder-next:添加
entitlements
到构建器配置中。 Docker/引擎#412 - 修复 builder-next:使用构建机密或 ssh 转发与 userns-remap 时出现的权限错误。 Docker/引擎#420
- 修复 builder-next:在已复制的目录中复制符号链接。 Docker/引擎#420
包装
- 支持 RHEL 8 软件包
运行
- 将 Golang 升级到 1.12.12。 Docker/引擎#418
- 将 RootlessKit 更新到 v0.7.0,以通过挂载命名空间和 seccomp 强化 slirp4netns。 Docker/引擎#397
- 修复了从事件处理器传播 GetContainer 错误的问题。 Docker/引擎#407
- 修复 OCI 镜像的推送。 Docker/引擎#405
19.03.4
2019-10-17
联网
- 回滚 libnetwork 更改以修复
DOCKER-USER
iptables 链问题。 Docker/引擎#404
已知的问题
现存的
- 在某些大型集群的情况下,Docker 信息可能作为 Swarm 部分的一部分包含错误
code = ResourceExhausted desc = grpc: received message larger than max (5351376 vs. 4194304)
。这并不表示用户有任何故障或错误配置,并且不需要响应。 - 将所有服务重新部署为新服务时,可能会发生 Orchestrator 端口冲突。由于短时间内Swarm管理器请求较多,导致部分服务无法接收流量,
404
部署后出现错误。- 解决方法:通过 重新启动所有任务
docker service update --force
。
- 解决方法:通过 重新启动所有任务
- CVE-2018-15664带有目录遍历的符号链接交换攻击。在即将发布的补丁版本中提供正确修复之前的解决方法:
docker pause
在执行文件操作之前使用容器。 莫比/莫比#39252 docker cp
由于 CVE 缓解而回归。当 的来源docker cp
设置为时会产生错误/
。
19.03.3
2019-10-08
安全
runc
在containerd中 修补。 CVE-2017-18367
建设者
修复 builder-next:解析第三方注册表的摘要。 Docker/引擎#339
修复 builder-next:当守护进程通过套接字激活启动时,将构建用户命名空间。 Docker/引擎#373
修复构建器下一个; session:释放每个连接转发的 ssh 套接字连接。 Docker/引擎#373
修复 build-next: llbsolver: 多个缓存导入器上的错误。 Docker/引擎#373
客户
添加了对 Docker 模板 0.1.6 的支持。
缓解具有过多别名的 YAML 文件。 泊坞窗/cli#2119
运行
将 Golang 升级到 1.12.10。 Docker/引擎#387
将containerd 升级到1.2.10。 Docker/引擎#385
分发:修改拉取 v2 schema1 清单时的警告逻辑。 Docker/引擎#368
修复了
POST /images/create
在提供不正确的平台选项时返回 500 状态代码的问题。 Docker/引擎#365修复了
POST /build
在提供不正确的平台选项时返回 500 状态代码的问题。 Docker/引擎#365修复了 32 位 ARMv7 上由于结构成员未对齐而导致的恐慌。 Docker/引擎#363
修复链接到不存在的容器时返回“无效参数”。 Docker/引擎#352
修复overlay2:使用内核 >= 5.2 时挂载时的繁忙错误。 Docker/引擎#332
修复了
docker rmi
某些配置错误的系统中卡住的问题,例如失效的 NFS 共享。 Docker/引擎#335修复执行进程的阻塞 I/O 的处理。 Docker/引擎#296
修复 jsonfile 记录器:
max-size
设置 和时跟踪日志卡住max-file=1
。 Docker/引擎#378
已知的问题
新的
DOCKER-USER
iptables 链丢失: docker/for-linux#810。用户无法在此 iptables 链之上执行额外的容器网络流量过滤。如果您没有在 .iptables 之上自定义 iptable 链,则不会受到此问题的影响DOCKER-USER
。- 解决方法:在 docker 守护进程启动后插入 iptables 链。例如:
iptables -N DOCKER-USER iptables -I FORWARD -j DOCKER-USER iptables -A DOCKER-USER -j RETURN
- 解决方法:在 docker 守护进程启动后插入 iptables 链。例如:
现存的
- 在某些大型集群的情况下,docker 信息可能作为 Swarm 部分的一部分包含错误
code = ResourceExhausted desc = grpc: received message larger than max (5351376 vs. 4194304)
。这并不表示用户有任何故障或错误配置,并且不需要响应。 - 将所有服务重新部署为新服务时,可能会发生 Orchestrator 端口冲突。由于短时间内大量 Swarm Manager 请求,某些服务
404
在部署后无法接收流量并导致错误。- 解决方法:通过 重新启动所有任务
docker service update --force
。
- 解决方法:通过 重新启动所有任务
- CVE-2018-15664带有目录遍历的符号链接交换攻击。在即将发布的补丁版本中提供正确修复之前的解决方法:
docker pause
在执行文件操作之前使用容器。 莫比/莫比#39252 docker cp
由于 CVE 缓解而回归。当 的来源docker cp
设置为时会产生错误/
。
19.03.2
2019-09-03
建设者
修复
COPY --from
Windows 上不存在的目录。 莫比/莫比#39695修复 builder-next:元数据命令在历史记录中没有创建时间。 莫比/莫比#39456
修复 builder-next:关闭图层导出错误的进度。 莫比/莫比#39782
将构建套件更新为 588c73e1e4。 莫比/莫比#39781
客户
修复非 Windows docker/cli 上的 Windows 绝对路径检测#1990
修复 . 的 zsh 完成脚本
docker login --username
。修复上下文:在
context create
. docker/cli#1985修复对 HTTP 代理环境变量的支持。 泊坞窗/cli#2059
记录
- 修复了读取日志日志的问题。 莫比/莫比#37819 莫比/莫比#38859
联网
- 防止连接到禁用网络的容器的网络发生恐慌。 莫比/莫比#39589
运行
将 Golang 升级到 1.12.8。
修复了对容器使用 XFS 磁盘配额时潜在的引擎崩溃问题。 莫比/莫比#39644
一群
- 修复无法删除具有多个任务的节点的问题。 泊坞窗/swarmkit#2867
已知的问题
在某些大型集群的情况下,docker 信息可能作为 Swarm 部分的一部分包含错误
code = ResourceExhausted desc = grpc: received message larger than max (5351376 vs. 4194304)
。这并不表示用户有任何故障或错误配置,并且不需要响应。将所有服务重新部署为新服务时,可能会发生 Orchestrator 端口冲突。由于短时间内大量 Swarm Manager 请求,某些服务
404
在部署后无法接收流量并导致错误。- 解决方法:通过 重新启动所有任务
docker service update --force
。
- 解决方法:通过 重新启动所有任务
由于 FORWARD 链中缺少 Iptables 规则,流量无法传出主机。缺少的规则是:
/sbin/iptables --wait -C FORWARD -o docker_gwbridge -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT /sbin/iptables --wait -C FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
- 解决方法:使用脚本和 cron 定义重新添加这些规则。该脚本必须包含用于检查规则是否存在的“-C”命令和用于重新添加规则的“-A”命令。定期在 cron 上运行脚本,例如,每隔
分钟。 - 受影响的版本:18.09.1、19.03.0
- 解决方法:使用脚本和 cron 定义重新添加这些规则。该脚本必须包含用于检查规则是否存在的“-C”命令和用于重新添加规则的“-A”命令。定期在 cron 上运行脚本,例如,每隔
CVE-2018-15664带有目录遍历的符号链接交换攻击。在即将发布的补丁版本中提供正确修复之前的解决方法:
docker pause
在执行文件操作之前使用容器。 莫比/莫比#39252docker cp
由于 CVE 缓解而回归。当 的来源docker cp
设置为时会产生错误/
。
19.03.1
2019-07-25
安全
- 修复了 Glibc 下 chroot 内基于 nsswitch 的配置的加载。 CVE-2019-14271
已知的问题
在某些情况下,在大型集群中,docker 信息可能作为 Swarm 部分的一部分包含错误
code = ResourceExhausted desc = grpc: received message larger than max (5351376 vs. 4194304)
。这并不表示用户有任何故障或错误配置,并且不需要响应。将所有服务重新部署为新服务时,可能会发生 Orchestrator 端口冲突。由于短时间内大量 Swarm Manager 请求,某些服务
404
在部署后无法接收流量并导致错误。- 解决方法:通过 重新启动所有任务
docker service update --force
。
- 解决方法:通过 重新启动所有任务
由于 FORWARD 链中缺少 Iptables 规则,流量无法传出主机。缺少的规则是:
/sbin/iptables --wait -C FORWARD -o docker_gwbridge -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT /sbin/iptables --wait -C FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
- 解决方法:使用脚本和 cron 定义重新添加这些规则。该脚本必须包含用于检查规则是否存在的“-C”命令和用于重新添加规则的“-A”命令。定期在 cron 上运行脚本,例如,每隔
分钟。 - 受影响的版本:18.09.1、19.03.0
- 解决方法:使用脚本和 cron 定义重新添加这些规则。该脚本必须包含用于检查规则是否存在的“-C”命令和用于重新添加规则的“-A”命令。定期在 cron 上运行脚本,例如,每隔
CVE-2018-15664带有目录遍历的符号链接交换攻击。在即将发布的补丁版本中提供正确修复之前的解决方法:
docker pause
在执行文件操作之前使用容器。 莫比/莫比#39252docker cp
由于 CVE 缓解而回归。当 的来源docker cp
设置为时会产生错误/
。
19.03.0
2019-07-22
建设者
修复
COPY --from
以保留所有权。 莫比/莫比#38599下一个构建器:
- 添加了内联缓存支持
--cache-from
。 Docker/引擎#215 - 允许输出配置。 莫比/莫比#38898
- 修复了 gcr 解决方法令牌缓存。 Docker/引擎#212
stopprogress
调用下载错误。 Docker/引擎#215- Buildkit 现在使用 systemd 的
resolv.conf
. Docker/引擎#260。 - 现在允许设置 buildkit 输出。 泊坞窗/cli#1766
- 查找 Dockerfile 特定的 dockerignore 文件(例如 Dockerfile.dockerignore)以查找被忽略的路径。 Docker/引擎#215
- 自动检测 x86、arm 和 arm64 二进制文件是否可以执行进程。 Docker/引擎#215
- 将构建套件更新为 1f89ec1。 Docker/引擎#260
docker/dockerfile:1.1
默认 使用 Dockerfile 前端版本。Docker/引擎#215- 不再依赖外部映像进行复制/添加操作。 Docker/引擎#215
- 添加了内联缓存支持
客户
- 添加
--pids-limit
标志到docker update
. 泊坞窗/cli#1765 - 添加了对服务的 sysctl 支持。 泊坞窗/cli#1754
template_driver
添加了对撰写文件 的支持。泊坞窗/cli#1746- 添加了
--device
对 Windows 的支持。 泊坞窗/cli#1606 - 添加了对数据路径端口配置的支持。 泊坞窗/cli#1509
- 添加了快速上下文切换:命令。 泊坞窗/cli#1501
- 添加了对docker/cli#1430的支持
--mount type=bind,bind-nonrecursive,...
- 添加了每个节点的最大副本数。 泊坞窗/cli#1612
- 添加了安静拉取图像的选项。 泊坞窗/cli#882
- 添加了一个单独的
--domainname
标志。 泊坞窗/cli#1130 - 添加了对秘密驱动程序的支持
docker stack deploy
。 泊坞窗/cli#1783 - 增加了使用 swarm
Configs
作为CredentialSpecs
服务的能力。 泊坞窗/cli#1781 - 添加了
--security-opt systempaths=unconfined
支持。 泊坞窗/cli#1808 - 添加了用于编写和运行 CLI 插件的基本框架。 docker/cli#1564 docker/cli#1898
- 将 Docker 应用程序升级到 v0.8.0。 docker/docker-ce-packaging#341
- 添加了对 Docker buildx 的支持。 docker/docker-ce-packaging#336
- 添加了对 Docker Assemble v0.36.0 的支持。
- 添加了对 Docker Cluster v1.0.0-rc2 的支持。
- 添加了对 Docker 模板 v0.1.4 的支持。
- 添加了对 Docker 注册表 v0.1.0-rc1 的支持。
- 将 google.golang.org/grpc 升级到 v1.20.1。 泊坞窗/cli#1884
- CLI 更改为将驱动程序特定选项传递给
docker run
. 泊坞窗/cli#1767 - 更新了 Golang 1.12.5。 泊坞窗/cli#1875
docker system info
输出现在隔离与客户端和守护程序相关的信息。 泊坞窗/cli#1638x-pull-secret: some-pull-secret
(实验性)当针对 Kubernetes 时,添加了对compose-files 服务配置 的支持。泊坞窗/cli#1617x-pull-policy: <Never|Always|IfNotPresent>
(实验性)当针对 Kubernetes 时,添加了对compose-files 服务配置 的支持。泊坞窗/cli#1617- cp、保存、导出:现在防止覆盖不规则文件。 泊坞窗/cli#1515
- 现在允许堆栈文件上的 npipe 卷类型。 泊坞窗/cli#1195
- 修复了 tty 初始大小错误。 泊坞窗/cli#1529
- 修复了标签从环境变量复制值的问题。 泊坞窗/cli#1671
应用程序编程接口
- API版本更新至v1.40。 莫比/莫比#38089
- 向端点添加了警告
/info
,并将检测移至守护程序。 莫比/莫比#37502 - 添加了对端点的 HEAD 支持
/_ping
。 莫比/莫比#38570 - 添加
Cache-Control
标头以禁用缓存/_ping
端点。 莫比/莫比#38569 - 添加了
containerd
、runc
、 和docker-init
版本到/version
。 莫比/莫比#37974 - 添加了未记录的
/grpc
端点并注册了 BuildKit 的控制器。 莫比/莫比#38990
实验性的
- 使用 TTY 启用容器的检查点/恢复。 莫比/莫比#38405
- LCOW:添加了对内存和 CPU 限制的支持。 莫比/莫比#37296
- Windows:添加了 ContainerD 运行时。 莫比/莫比#38541
- Windows:LCOW 现在需要 Windows RS5+。 莫比/莫比#39108
安全
- 挂载:添加了 BindOptions.NonRecursive (API v1.40)。 莫比/莫比#38003
- seccomp:列入白名单
io_pgetevents()
。 莫比/莫比#38895 - seccomp:
ptrace(2)
现在允许用于 4.8+ 内核。 莫比/莫比#38137
运行
dockerd
现在允许以非根用户(无根模式) 运行。莫比/莫比#380050lxc-user-nic
Rootless:为SUID 二进制文件 提供可选支持。Docker/引擎#208- 向 HostConfig 添加了 DeviceRequests 以支持 NVIDIA GPU。 莫比/莫比#38828
- 添加了
--device
对 Windows 的支持。 莫比/莫比#37638 - 添加了
memory.kernelTCP
对 Linux 的支持。 莫比/莫比#37043 - Windows 凭据规范现在可以直接传递到引擎。 莫比/莫比#38777
- 在 docker 更新中添加了 pids 限制支持。 莫比/莫比#32519
- 添加了对精确功能列表的支持。 莫比/莫比#38380
- 守护进程:现在默认使用“私有”ipc 模式。 莫比/莫比#35621
- 守护进程:切换到信号量门控的 WaitGroup 来执行启动任务。 莫比/莫比#38301
- 现在使用
idtools.LookupGroup
而不是解析/etc/group
docker.sock 所有权的文件来修复:api.go doesn't respect nsswitch.conf
。 莫比/莫比#38126 - cli:使用多参考过滤器时固定图像过滤器。 莫比/莫比#38171
- 将 Golang 提升至 1.12.5。 Docker/引擎#209
- 升至
containerd
1.2.6。 莫比/莫比#39016 - 升级
runc
到 1.0.0-rc8,opencontainers/selinux v1.2.2。 Docker/引擎#210 - 已升级
google.golang.org/grpc
至 v1.20.1。 Docker/引擎#215 - 在 aufs 和层存储中优化了性能,以实现大规模并行容器创建/删除。 莫比/莫比#39135 莫比/莫比#39209
- 根现已传递给 chroot 以进行 chroot Tar/Untar (CVE-2018-15664) moby/moby#39292
docker --init
通过 /dev 绑定安装 修复。莫比/莫比#37665- 现在,当大于 255 并使用该
--device-read-bps
选项时,会获取正确的设备编号。 莫比/莫比#39212 - 修复了
Path does not exist
路径确实存在时的错误。 莫比/莫比#39251
联网
- 将 IPVLAN 驱动程序移出实验范围。 莫比/莫比#38983
- 添加了对“悬挂”过滤器的支持。 莫比/莫比#31551 docker/libnetwork#2230
- 现在,当使用 更新服务时,负载均衡器沙箱会被删除
--network-rm
。 Docker/引擎#213 PortBindings
Windows:现在强制在IPv4zero (0.0.0.0) 中指定零 IP 。泊坞窗/libnetwork#2376
一群
- 添加了对每个节点最大副本数的支持。 莫比/莫比#37940
- 添加了对 Swarmkit 配置中的 GMSA CredentialSpecs 的支持。 莫比/莫比#38632
- 添加了对服务中 sysctl 选项的支持。 莫比/莫比#37701
- 添加了对节点标签过滤的支持。 莫比/莫比#37650
- Windows:在 docker service create + stack yml 中添加了对命名管道安装的支持。 莫比/莫比#37400
- 现在支持 VXLAN UDP 端口配置。 莫比/莫比#38102
- 现在在 Enforcer 中使用服务放置约束。 泊坞窗/swarmkit#2857
- 增加了节点和机密的最大接收 gRPC 消息大小。 Docker/引擎#256
记录
- 在 Windows 上启用 gcplogs 驱动程序。 莫比/莫比#37717
- 为 RFC5424 syslog 格式添加了零填充。 莫比/莫比#38335
- 添加了记录事件
IMAGE_NAME
的属性journald
。 莫比/莫比#38032
弃用
- 弃用映像清单 v2 schema1,转而使用 v2 schema2。 Docker 的未来版本将完全删除对 v2 schema1 的支持。 莫比/莫比#39365
- 删除了 v1.10 迁移器。 莫比/莫比#38265
- 现在在自动选择中跳过已弃用的存储驱动程序。 莫比/莫比#38019
- 已弃用
aufs
存储驱动程序并添加警告。 莫比/莫比#38090 - 删除了对 17.09 的支持。
有关已弃用标志和 API 的更多信息,请参阅 目标删除日期的弃用信息。
已知的问题
在某些大型集群的情况下,docker 信息可能作为 Swarm 部分的一部分包含错误
code = ResourceExhausted desc = grpc: received message larger than max (5351376 vs. 4194304)
。这并不表示用户有任何故障或错误配置,并且不需要响应。将所有服务重新部署为新服务时,可能会发生 Orchestrator 端口冲突。由于短时间内大量 Swarm Manager 请求,某些服务
404
在部署后无法接收流量并导致错误。- 解决方法:通过 重新启动所有任务
docker service update --force
。
- 解决方法:通过 重新启动所有任务
由于 FORWARD 链中缺少 Iptables 规则,流量无法传出主机。缺少的规则是:
/sbin/iptables --wait -C FORWARD -o docker_gwbridge -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT /sbin/iptables --wait -C FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
- 解决方法:使用脚本和 cron 定义重新添加这些规则。该脚本必须包含用于检查规则是否存在的“-C”命令和用于重新添加规则的“-A”命令。定期在 cron 上运行脚本,例如,每隔
分钟。 - 受影响的版本:18.09.1、19.03.0
- 解决方法:使用脚本和 cron 定义重新添加这些规则。该脚本必须包含用于检查规则是否存在的“-C”命令和用于重新添加规则的“-A”命令。定期在 cron 上运行脚本,例如,每隔
CVE-2018-15664带有目录遍历的符号链接交换攻击。在即将发布的补丁版本中提供正确修复之前的解决方法:
docker pause
在执行文件操作之前使用容器。 莫比/莫比#39252docker cp
由于 CVE 缓解而回归。当 的来源docker cp
设置为时会产生错误/
。