Docker更新日志(截止到2020年9月10日)

本文记录docker-ce从17.03到19.03更新日志情况,主要内容为更新版本所修复的问题和新增功能等。所有内容来自官方文档的更新日志,很多地方有翻译不准确情况,仅供简单参考。

官方版本记录日志:https://docs.docker.com/engine/release-notes/

目录

文章目录

Docker

版本号:19.03

首次发布时间: 2019-07-22

构造相关
客户端相关
API
实验性功能
安全相关
运行相关
网络相关
集群相关
日志相关
弃用
  • 不推荐使用映像清单v2 schema1,而推荐使用v2 schema2。将来的Docker版本将完全不再支持v2 schema1。moby/moby#39365
  • 删除了v1.10迁移器。moby/moby#38265
  • 现在跳过自动选择中已弃用的存储驱动程序。moby/moby#38019
  • 不建议使用的aufs存储驱动程序,并添加了警告。moby/moby#38090
  • 删除了对17.09的支持。
已知问题
  • 在大型集群的某些情况下,作为Swarm部分的一部分,Docker信息可能包含error code = ResourceExhausted desc = grpc: received message larger than max (5351376 vs. 4194304)。这并不表示用户有任何故障或配置错误,并且不需要响应。

  • 将所有服务重新部署为新服务时,可能会发生Orchestrator端口冲突。由于短时间内有许多Swarm管理器请求,因此某些服务无法接收流量,并且404在部署后会导致错误。

    • **解决方法:**通过重新启动所有任务docker service update --force
  • 具有目录遍历的CVE-2018-15664 symlink-exchange攻击。解决方法,直到在即将进行的修补程序发行版中提供正确的修复程序:docker pause容器之前执行文件操作。moby/moby#39252

  • docker cpCVE缓解导致的回归。当的来源docker cp设为时,会产生错误/

  • 新问题
    • DOCKER-USER
      

      iptables链丢失:docker / for-linux#810。用户无法在此iptables链的顶部执行其他容器网络流量过滤。如果您不自定义iptable链,则不会受到此问题的影响DOCKER-USER

      • 解决办法:

        在docker守护程序启动后插入iptables链。例如:

    iptables -N DOCKER-USER
    iptables -I FORWARD -j DOCKER-USER
    iptables -A DOCKER-USER -j RETURN
    ```

    现有
    • 在某些集群较大的情况下,作为Swarm部分的一部分,docker信息可能包含error code = ResourceExhausted desc = grpc: received message larger than max (5351376 vs. 4194304)。这并不表示用户有任何故障或配置错误,并且不需要响应。

    • 将所有服务重新部署为新服务时,可能会发生Orchestrator端口冲突。由于在短时间内有许多群集管理器请求,因此某些服务无法接收流量,并且404在部署后会导致错误。

      • **解决方法:**通过重新启动所有任务docker service update --force
    • 具有目录遍历的CVE-2018-15664 symlink-exchange攻击。解决方法,直到在即将进行的修补程序发行版中提供正确的修复程序:docker pause容器之前执行文件操作。moby/moby#39252

    • docker cpCVE缓解导致的回归。当的来源docker cp设为时,会产生错误/

  • 在某些集群较大的情况下,作为Swarm部分的一部分,docker信息可能包含error code = ResourceExhausted desc = grpc: received message larger than max (5351376 vs. 4194304)。这并不表示用户有任何故障或配置错误,并且不需要响应。

  • 将所有服务重新部署为新服务时,可能会发生Orchestrator端口冲突。由于在短时间内有许多群集管理器请求,因此某些服务无法接收流量,并且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
  • 具有目录遍历的CVE-2018-15664 symlink-exchange攻击。解决方法,直到在即将进行的修补程序发行版中提供正确的修复程序:docker pause容器之前执行文件操作。moby/moby#39252

  • docker cpCVE缓解导致的回归。当的来源docker cp设为时,会产生错误/

  • 在某些情况下,在大型集群中,泊坞窗信息可能会在Swarm部分中包含error code = ResourceExhausted desc = grpc: received message larger than max (5351376 vs. 4194304)。这并不表示用户有任何故障或配置错误,并且不需要响应。

  • 将所有服务重新部署为新服务时,可能会发生Orchestrator端口冲突。由于在短时间内有许多群集管理器请求,因此某些服务无法接收流量,并且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
  • 具有目录遍历的CVE-2018-15664 symlink-exchange攻击。解决方法,直到在即将进行的修补程序发行版中提供正确的修复程序:docker pause容器之前执行文件操作。moby/moby#39252

  • docker cpCVE缓解导致的回归。当的来源docker cp设为时,会产生错误/

  • 在某些集群较大的情况下,作为Swarm部分的一部分,docker信息可能包含error code = ResourceExhausted desc = grpc: received message larger than max (5351376 vs. 4194304)。这并不表示用户有任何故障或配置错误,并且不需要响应。

  • 将所有服务重新部署为新服务时,可能会发生Orchestrator端口冲突。由于在短时间内有许多群集管理器请求,因此某些服务无法接收流量,并且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
  • 具有目录遍历的CVE-2018-15664 symlink-exchange攻击。解决方法,直到在即将进行的修补程序发行版中提供正确的修复程序:docker pause容器之前执行文件操作。moby/moby#39252

  • docker cpCVE缓解导致的回归。当的来源docker cp设为时,会产生错误。

打包相关

版本号:18.09

首次发布时间: 2018-11-08

客户端相关
  • 在非Windows上修复Windows绝对路径检测。docker/ cli#1990
  • 修复Docker拒绝从Windows上的委托文件加载密钥的问题。docker/ cli#1968
  • bash和zsh的完成脚本更新。
  • 修复了parallelismmax_failure_ratio字段的回滚配置类型插值。
  • 修复了tty初始大小错误。docker/ cli#1775
  • 修复了Dial-stdio goroutine泄漏。docker/ cli#1795
  • 修复了用于跟踪部署的堆栈通知程序的选择器。docker/ cli#1794
日志相关
网络相关
运行相关
集群相关
  • 修复“ grpc:收到的邮件大于最大数量”错误。moby/moby#39306
  • 修复了无法删除多个任务的节点的问题。docker/ swarmkit#2867
  • 修复了删除节点时泄漏的任务资源。docker/engine#185
  • 修复了将节点加入集群时nil指针异常的问题。moby/moby#38618
  • 修复了如果设置了http代理的群集节点无法加入为主节点的问题。[moby / moby#36951]
构造相关
已知问题
  • 升级过程中有一些重要更改,如果未正确遵循,则会对升级期间在Swarm上运行的应用程序的可用性产生影响。这些限制影响从18.09之前的任何版本到18.09或更高版本的任何升级。

  • 升级过程中有一些重要更改,如果未正确遵循,则会对升级期间在Swarm上运行的应用程序的可用性产生影响。这些限制影响从18.09之前的任何版本到18.09或更高版本的任何升级。

  • 已修复,COPY并且ADD具有多个``,不会使缓存无效DOCKER_BUILDKIT=1moby/moby#38964

  • 升级过程中有一些重要更改,如果未正确遵循,则会对升级期间在Swarm上运行的应用程序的可用性产生影响。这些限制影响从18.09之前的任何版本到18.09或更高版本的任何升级。

  • 升级过程中有一些重要更改,如果未正确遵循,则会对升级期间在Swarm上运行的应用程序的可用性产生影响。这些限制影响从18.09之前的任何版本到18.09或更高版本的任何升级。

  • 升级过程中有一些重要更改,如果未正确遵循,则会对升级期间在Swarm上运行的应用程序的可用性产生影响。这些限制影响从18.09之前的任何版本到18.09或更高版本的任何升级。

  • 升级过程中有一些重要更改,如果未正确遵循,则会对升级期间在Swarm上运行的应用程序的可用性产生影响。这些限制影响从18.09之前的任何版本到18.09或更高版本的任何升级。

  • 升级过程中有一些重要更改,如果未正确遵循,则会对升级期间在Swarm上运行的应用程序的可用性产生影响。这些限制影响从18.09之前的任何版本到18.09或更高版本的任何升级。

  • 从18.09.0升级到18.09.1时,containerd在Ubuntu上没有升级到正确的版本。

  • 升级过程中有一些重要更改,如果未正确遵循,则会对升级期间在Swarm上运行的应用程序的可用性产生影响。这些限制影响从18.09之前的任何版本到18.09或更高版本的任何升级。

  • 升级过程中有一些重要更改,如果未正确遵循,则会对升级期间在Swarm上运行的应用程序的可用性产生影响。这些限制影响从18.09之前的任何版本到18.09或更高版本的任何升级。

  • 使用https://github.com/boot2docker/boot2docker/releases/download/v18.09.0/boot2docker.iso,虚拟机上的节点被拒绝连接。在virtualbox创建的docker-machine VM中对群集端口的任何发布都不会响应。这是在docker-machine版本0.15和0.16的macOS和Windows 10上发生的。

    以下docker run命令有效,允许从主机浏览器进行访问:

    docker run -d -p 4000:80 nginx

    但是,以下docker service命令失败,导致curl / chrome无法连接(连接被拒绝):

    docker service create -p 5000:80 nginx

    使用docker-machine配置18.09.0云虚拟机时,此问题不明显。

    解决方法:

    • 使用不依赖boot2docker的云VM。
    • docker run 不受影响。
    • 对于Swarm,设置VIRTUALBOX_BOOT2DOCKER_URL = https://github.com/boot2docker/boot2docker/releases/download/v18.06.1-ce/boot2docker.iso。

    此问题已在18.09.1。中解决。

打包相关
运行修复和更新部分
网络修复部分
  • Windows:现在避免重新生成网络ID,以防止损坏对网络的引用。docker/engine#149
  • Windows:修复了- restart always在指定网络时无法解决独立容器上的标志的问题。(docker/升级#1037)
  • 修复了如果管理器未连接到覆盖网络时从networkdb解决IPAM状态的问题。(docker/升级#1049)
  • 将Go语言升级到1.10.6以解决CVE-2018-16873CVE-2018-16874CVE-2018-16875
  • 修复了用于长度为0的内容和路径验证的authz插件。
  • 添加/proc/asound到屏蔽路径docker / engine#126
修复部分
改进部分
安全修复部分
  • 更新runc以解决一个严重漏洞,该漏洞使特制容器可以在主机上获得管理特权。CVE-2019-5736
  • 使用3.13内核的Ubuntu 14.04客户将需要升级到受支持的Ubuntu 4.x内核
新功能
弃用

Docker已弃用对Device Mapper作为存储驱动程序的支持。目前将继续支持它,但是在将来的版本中将删除该支持。

终止服务

在此版本中,Docker还删除了对TLS <1.2 moby / moby#37660,Ubuntu 14.04“ Trusty Tahrdocker -ce-packaging#255 / docker-ce-packaging#254和Debian 8“ Jessie” docker-ce的支持。 -packaging#255 / docker -ce-packaging#254


版本号:18.06

首次发布时间: 2018-07-18

Docker Engine的安全修复程序
  • 更改runc关键漏洞补丁的应用方式,以将修补程序包括在RPM软件包中。 docker/engine#156

  • 更新runc以解决一个严重漏洞,该漏洞使特制容器可以在主机上获得管理特权。CVE-2019-5736

  • 使用3.13内核的Ubuntu 14.04客户将需要升级到受支持的Ubuntu 4.x内核

构造相关
客户端相关
运行相关
日志相关
弃用
网络相关
集群相关

版本号:18.05

首次发布时间: 2018-05-09

构造相关
客户端相关
日志相关
网络相关
运行相关
集群相关

版本号:18.04

首次发布时间:2018-04-10

构造相关
客户端相关
日志相关
网络相关
运行相关
集群相关

版本号:18.03

首次发布时间:2018-03-21

构造相关
客户端相关
日志相关
网络相关
运行相关
集群相关

版本号:18.02

首次发布时间: 2018-02-07

构造相关
客户端相关
实验性功能
日志相关
网络相关
打包相关
运行相关

版本号:18.01

首次发布时间:2018-01-10

构造相关
  • 如果启用了用户命名空间,则修复文件不会被删除moby / moby#35822
  • 支持在docker commit --change ...中添加扩展环境变量 #35582
客户端相关
文档相关
实验性功能
日志相关
  • 修正了当GELF服务器宕机时通过TCP使用GELF日志驱动程序时守护进程崩溃的问题 moby/moby#35765
  • 修复awslogs批量大小计算大日志 moby/moby#35726
网络相关
运行相关
集群相关

版本号:17.12

首次发布时间: 2017-12-27

日志相关
网络相关
打包相关
运行相关
集群相关
客户端相关
文档相关
构造相关
已知问题

版本号:17.11

首次发布时间: 2017-11-20

重要提示:Docker CE 17.11是基于容器化1.0 beta的第一个Docker版本 。Docker CE 17.11和更高版本无法识别以早期Docker版本开头的容器。如果使用 Live Restore,则必须先停止所有容器,然后才能升级到Docker CE 17.11。如果不这样做,那么在升级后,Docker将无法识别早于17.11的Docker版本启动的任何容器,并且它们会在系统上不受管理地继续运行。

构造相关
  • 使用rm / force-rm矩阵测试和修复构建#35139
  • --stream使用大型上下文修复构建#35404
客户端相关
弃用
日志相关
网络相关
运行相关
集群相关
  • 由于swarmkit中新的ipam选项而修改了集成测试#35103
  • 修复获取集群信息的僵局[Moby / Moby#35388(https://github.com/moby/moby/pull/35388)
  • 扩展TaskStatus中的Err字段的范围,以同时覆盖阻止任务进行的非终端错误 docker/swarmkit#2287
打包相关

版本号:17.10

首次发布时间: 2017-10-17

重要提示:本版本开始,docker service createdocker service updatedocker service scaledocker service rollback使用非分离模式作为默认情况下,使用--detach以保持原来的行为。

构造相关
客户端相关
网络相关
运行相关
集群相关

版本号:17.09

首次发布时间: 2017-12-07

构造相关
客户端相关
网络相关
运行相关
集群相关
日志相关
  • 修复Splunk记录器在标签为空且使用原始模式时不传输日志数据的问题Moby / Moby#34520
打包相关
弃用

版本号:17.07

首次发布时间: 2017-08-29

API和客户端
构建相关
日志相关
  • 修复错误的文件模式以旋转日志文件Moby / Moby#33926
  • 修复Stderr日志记录的日志记录和系统日志Moby / Moby #33832
运行相关
集群相关

版本号:17.06

首次发布时间: 2017-06-28

注意

  • Docker 17.06.0在映像构建器中存在问题,导致ADD在引用远程.tar.gz文件时Dockerfile指令的行为发生变化。该问题将在Docker 17.06.1中修复。
  • 从Docker CE 17.06开始,使用s390x架构的IBM Z也可以使用Ubuntu软件包。
  • 默认情况下,Docker 17.06禁用与旧版(v1)注册表的通信。如果需要与尚未迁移到v2协议的注册表进行交互,请设置--disable-legacy-registry=false守护程序选项。与v1注册表的交互将在Docker 17.12中删除。
客户端相关
  • 在客户端中启用TCP保持存活以防止失去连接docker / cli#415
  • 在运行时将挂载卷设为可选docker system prune,并添加--volumes标志#109
  • 在分配复制任务之前显示它们的进度#97
  • 如果容器不存在,修复docker wait悬挂问题#106
  • 如果docker swarm ca在没有--rotate标志的情况下被调用,则警告是否传递了其他标志#110
  • 如果守护程序返回错误,则修复API版本协商不起作用 #115
  • 如果在系统修剪中将“until”过滤器与“ --volumes”结合使用,则打印错误#154
  • 添加--format选项到docker stack ls #31557
  • 在撰写的初始版本中添加对标签的支持 #32632 #32972
  • 添加--format选项到docker history #30962
  • 添加--format选项到docker system df #31482
  • 允许在堆栈文件中指定名称服务器和搜索域#32059
  • read_only服务支持添加到docker stack deploy #docker / cli / 73
  • 显示Swarm集群和节点TLS信息#docker / cli / 44
  • 添加对位置设置的支持 docker stack deploy #docker/cli/35
  • 添加新的ca子命令到docker swarm允许管理集群CA #docker / cli / 48
  • 添加凭据规范#docker / cli / 71
  • 支持对csv格式的选项--network--network-add #docker/cli/62 #33130
  • 修复在Windows上堆栈绑定卷 #docker/cli/136
  • 正确处理没有注册表信息的Docker守护程序#docker / cli / 126
  • 当使用using --rollbac 时,允许使用--detach and --quiet #docker/cli/144
  • docker login中移除--email #docker/cli/143
  • 调整docker stats内存输出#docker / cli / 80
集群相关
运行相关
  • Devmapper:确保UdevWait在调用setCookie之后被调用 moby/moby#33732
  • Aufs:确保差异层被正确地删除,以防止剩余的文件使用完存储空间 moby/moby#34587
  • healthcheck停止时, 防止goroutine 泄露 #90
  • 不错误的重新标签时,重新标签不支持 #92
  • 将GRPC连接的最大退避延迟限制为2秒#94
  • 修复了由于某些内核中的错误而在指定内存cgroup时阻止容器运行的问题#102
  • 修复暂停时容器不响应SIGKILL问题#102
  • 改善了错误消息:如果加载了不兼容的操作系统的映像#108
  • 修复的手柄泄漏go-winio[#112](https://github.com/docker/docker-ce/pull/112)
  • 修复升级时的问题,阻止Docker在--live-restore启用时显示正在运行的容器#117
  • 修复以下错误:使用机密的服务无法在使用userns-remap功能的守护程序上启动#121
  • 修复错误处理并将not-exist错误移除#142
  • 修复了显示不能用SwaggerUI加载REST API Swagger #156
  • 添加构建和engine信息Prometheus指标#32792
  • 更新容器到d24f39e203aa6be4944f06dd0fe38a618a36c764 #33007
  • 将Runc更新到992a5be178a62e026f4069f443c6164912adbf09 #33007
  • 为devmapper自动配置blkdev添加选项 #31104
  • 将日志驱动程序列表添加到docker info #32540
  • 添加API端点以允许检索镜像清单#32061
  • 不删除容器从内存错误forceremove #31012
  • 添加对度量插件的支持#32874
  • prune命令中使用了无效的过滤器时,返回错误#33023
  • 添加守护程序选项以允许推送外部图层#33151
  • 修复了阻止容器在死亡后重新启动的问题#32986
  • 将集群事件添加到Docker事件流中。#32421
  • 在Windows上添加对DNS搜索的支持#33311
  • 升级到Go 1.8.3 #33387
  • 防止日记重新启动时发生容器崩溃 #containerd/ 930
  • 修复由于无效的环境变量而导致的运行状况检查失败#33249
  • 禁止在停机期间重新启动安装容器的目录时,代替守护进程套接字创建目录#30348
  • 如果容器的停止信号设置为SIGKILL吗,则防止容器在停止时重新启动#33335
  • 确保日志驱动程序将相同的文件名传递给StartLogging和StopLogging端点#33583
  • 删除守护程序数据结构转储SIGUSR1以避免出现紧急情况#33598
构造相关
  • 修复回退,当使用ADD从远程URL提取的存档#89
  • 修复了对远程“ git @”符号#100的处理
  • 修复复制--from冲突与强制拉取#86
  • 添加--iidfile选项到docker构建。它允许指定保存结果镜像ID的位置
  • 允许在git checkout URLs中指定任何远程引用#32502
日志相关
  • 修复stderr记录journaldsyslog #95
  • 修复日志读取器可以无限期阻止写入#98
  • 修复awslogs驱动程序重复上一次事件#151
  • 为GCP日志记录驱动程序添加监视的资源类型元数据#32930
  • 将多行处理添加到AWS CloudWatch日志驱动程序#30891
网络相关
  • 修复网络驱动程序未接收到的驱动程序选项的问题#127
  • 通过节点本地网络(例如macvlan,ipvlan,网桥,主机)添加支持群模式服务#32981
  • 在创建服务时将驱动程序选项传递给网络驱动程序#32981
  • 使用–data-path-addr将Swarm控制面流量与应用程序数据流量 #32717
  • 对服务进行了一些改进 #docker/libnetwork/1796
插件相关
  • 插件删除失败更有保障 #91
安全相关
  • 编辑有关秘密创建秘密数据#99的
  • 允许使用默认seccomp配置文件设置的UNAME26位#32965
发行相关
  • 在提取期间同时提供摘要时,选择标记之上的摘要#33214
打包相关
  • container-selinux可用时依靠Centos / Fedora / RHEL #32437
弃用
  • 默认情况下禁用旧式注册表(v1)#33629

版本号:17.05

首次发布时间: 2017-05-04

运行相关
  • 当容器退出时,确保运行状况探针已停止; Github节点说明:; Github节点说明:#32274
网络相关
  • 允许用户替换和自定义入口网络;#31714
  • 修复容器重启后容器中的UDP通信无法正常工作的情况; #32505
  • 如果设置了其他数据根,则修复将文件写入/var/lib/docker的问题 ; Github节点说明:#32505
集群相关
  • 添加服务的更新/回滚顺序到(--update-order/ --rollback-order#30261
  • 添加对同步service create#31144的支持service update Github节点说明:
  • 添加在健康检查“宽限期”,通过支持HEALTHCHECK --start-period--health-start-period标志 docker service createdocker service updatedocker create,和docker run以支撑容器的初始启动时间 #28938
  • docker service create现在,在可能的情况下会忽略用户未指定的字段。允许在管理器中应用默认设置#32284
  • docker service inspect显示用户未指定的字段的默认值#32284
  • docker service logs移出实验功能#32462
  • 将对凭据规范和SELinux的支持添加到API服务 #32339
  • --entrypoint标志添加到docker service createdocker service update #29228
  • 添加--network-add--network-rmdocker service update #32062
  • --credential-spec标志添加到docker service createdocker service update #32339
  • 添加--filter modedocker service ls #31538
  • 创建服务时,在客户端而不是在守护程序中解析网络ID #32062
  • 添加--format选项到docker node ls#30424
  • 添加--prune选项到docker stack deploy删除不再在docker-compose文件中定义的服务 #31302
  • 当使用ingressPORTS 列添加到 docker service ls#30813
  • 修复了使用环境变量时不必要的任务重新部署#32364
  • 修复从Docker撰写文件进行部署时docker stack deploy不支持endpoint_mode #32333
  • 如果无法创建群集组件允许从损坏的群集设置中恢复,然后继续启动。#31631
构造相关
  • 添加多阶段构建支持#31257 #32063
  • 允许构建时在FROM中使用ARG参数 #31352
  • 添加用于指定构建目标的选项#32496
  • 接受-f -stdin读取Dockerfile,但使用本地上下文进行构建#31236
  • 除非在Dockerfile中编写了相应的ARG指令,否则默认构建时间参数的值(例如HTTP_PROXY)将不再显示在Docker镜像历史记录中 。#31584
  • 如果在父镜像中使用了shell,则修复设置命令#32236
  • 修复docker build --label标签包含单引号和空格的情况#31750
客户端相关
  • --mount标志添加到docker rundocker create #32251
  • 添加--type=secretdocker inspect #32124
  • 添加--format选项到docker secret ls #31552
  • 添加 --filter 选项到 docker secret ls #30810
  • 添加--filter scope=<swarm|local>docker network ls #31529
  • 添加 --cpus 命令到 docker update #31148
  • 将标签过滤器添加到docker system prune和其他prune命令#30740
  • docker stack rm现在接受多个堆栈作为输入#32110
  • 当客户端降级API版本改进docker version --format时,选项#31022
  • 使用加密的客户端证书连接docker守护程序时提示#31364
  • 成功的显示创建标签docker build #32077
  • 清理撰写转换错误消息#32087
日志相关
  • 添加对日志记录驱动程序插件的支持#28403
  • 添加对显示单个任务日志的支持docker service logs,并添加/task/{id}/logsREST端点#32015
  • --log-opt env-regex使用正则表达式添加选项以匹配环境变量#27565
第三方库相关
  • 在Ubuntu 17.04 Zesty amd64是支持docker构建#32435
守护进程相关
  • 修复如果--api-enable-cors未设置则忽略--api-cors-header#32174
  • 启动时清理docker tmp目录 #31741
  • 赞成使用--graph--data-root #28696
安全相关
  • 允许设置SELinux类型或MCS标签 是使用--ipc=container: 或者 --ipc=host #30652
弃用
  • 弃用--api-enable-cors守护程序标志。该标志在Docker 1.6.0中被标记为不推荐使用,但未在不推荐使用的功能中列出#32352
  • 删除Ubuntu 12.04(Precise Pangolin)作为受支持的平台。Ubuntu 12.04已停产,并且不再更新#32520

版本号:17.04

首次发布时间: 2017-04-05

运行相关
  • 在不设置实时还原的情况下进行还原时,要处理已暂停的容器; #31704
  • 不允许在Dockerfile中运行状况中检查选项中的秒数;#31177
  • 支持在 secret update 语句中命名和id前缀;#30856
  • 将二进制框架用于websocket附加终端;#30460
  • 修复Linux挂载调用不允许传播类型更改的问题;#30416
  • 修复exec -i中ExecIds泄漏失败的问题 ; #30340
  • danglingOnly=true时,删除命名但未标记的镜像 ;#30330
  • 添加守护程序标志以将no_new_priv设置为非特权容器的默认值 ;#29984
  • 添加守护程序选项--default-shm-size#29692
  • 支持注册表镜像配置重新加载;#29650
  • 构建镜像时忽略守护程序日志配置; #29552
  • 将解析的机密名称或ID前缀从客户端移动到守护程序; #29218
  • 允许将规则添加到cgroup devices.allow容器创建/运行;#22563
  • 修复在允许systemd daemon-reload命令时,cpu.cfs_quota_us被重置的问题; #31736
网络相关
集群相关
日志相关
  • 为容器日志实现可选的环形缓冲区; #28762
  • 为awslogs(CloudWatch)添加--log-opt awslogs-create-group = <true | false>,以根据需要支持创建日志组; #29504
  • 将gcplogs日志记录驱动程序与“静态”二进制文件一起使用时,修复segfault; #29478
构造相关
  • 禁用构建容器的容器日志记录; #29552。
  • 修复**/.dockerignore的使用; #29043
客户端相关
  • docker stack ls按照名称排序;#31085
  • 用于指定绑定安装一致性的标志; #31047
  • docker CLI的输出——帮助现在包装到终端宽度 ;#28751
  • 废除docker ps中的镜像摘要;#30848
  • 隐藏与Windows相关的命令选项; #30788
  • 修正docker plugin install提示接受默认值为“ N”的“ enter”; #30769。
  • 添加truncate功能到Go模板;#30484
  • 支持在stack deploy中的端口扩展语法; #30476
  • 支持在stack deploy中的挂载扩展语法; #30597 #31795
  • 在dockers build中提供--add-host语句; #30383
  • docker network ls --format添加docker network ls --format占位符; #29900
  • 更新--secret-rm--secret-add的顺序; #29802
  • 添加--filter enabled=truedocker plugin ls中; #28627。
  • 添加--formatdocker service ls#28199
  • 添加publishexpose过滤器到docker ps --filter#27557
  • 支持多个服务ID docker service ps#25234
  • 允许以--availability=drain加入集群; #24993。
  • 启用AppArmor并且未定义其他配置文件时,Docker检查现在显示“ docker-default”; #27083
其它

Windows相关

  • 阻止在非Windows守护程序上拉取Windows镜像; #29001

版本号:17.03

首次发布时间: 2017-05-29

运行相关
  • 将go-connections更新为d217f8e版本; #28

  • 重新标记安全路径以避免在启用selinux的系统上被拒绝; #33236(ref #32529

  • 修复了一些需要的本地卷无法被重新标记的情况; #33236(ref #29428

  • 修复在升级插件rootfs时仍然挂载的问题 ;#33236(ref #32525

  • 修复卷不会默认为rprivate传播模式的问题 ; #33236 (ref #32851)

  • 修复无法检索卷驱动程序时可能出现的紧急情况; #33236(ref #32347

  • docker info中添加了警告,用于警示在不支持d_type的文件系统上使用overlay或者overlay 2驱动; #33236 (ref #31290)

  • 修复将挂载规范反向移植到旧卷的问题 ; #33207

  • 修复取消挂载失败后可能导致本地卷丢失数据的问题; #33120

  • 将Runc更新为54296cf40ad8143b62dbcaa1d90e520a2136ddfe版本; #31666

  • 忽略cgroup2挂载点; opencontainers / runc#1266

  • 将容器更新为4ab9917febca54791c5f071a9d1f404867857fcc版本; #31662 #31852

  • 在调用restore()之前注册healtcheck服务 ; docker/containerd#609

  • 修复docker exec在自动升级后无法工作,重新加载设备配置文件的问题 ;#31773

  • 修复不使用Overlay2合并目录的卸载层;#31069

  • 在强制删除时不忽略“volume in use”错误 ;#31450

  • 修复Docker日志中的死锁; #30223

  • 修复CPU空闲等待日志写入的问题;#31070

  • 修复使用日志记录可能导致崩溃的问题; #31231 #31263

  • 修复关闭未持有内存通道的紧急情况; :#31274

  • 修复在docker run中使用--volumes-from重复挂载的情况; #29563

  • 修复--cache-from不能缓存最后一步的情况; Github节点说明:#31189

网络相关
  • 修复阻止网络创建的并发问题;#33273

  • 修正交叉数据中心群中叠加加密密钥旋转的错误 ;#30727

  • 修正主服务器频繁更换引起的叠加加密和网络控制平面通信失败的错误(“已安装的密钥中没有可以解密消息”);#25608

  • 对使用覆盖网络和外部kv-store时,对系统响应性和数据路径编程进行了处理; Github节点说明: docker/libnetwork#1639, docker/libnetwork#1632 ……

  • 丢弃进入加密覆盖网络的普通vxlan数据包 ;#31170](https://github.com/docker/docker/pull/31170)

  • 在分配失败时释放网络附件 ;#31073

  • 修正了多个已发布端口映射到相同目标端口时的端口分配问题 ; docker/swarmkit#1835

集群相关
远程API和客户端相关
  • 修复自动删除旧的API;#31692
  • 修复堆栈的默认网络自定义;#31258
  • 存在脱机CPU和较新的Linux的情况下,更正CPU使用率计算;#31802
  • 修复远程API中服务健康检查为{}的问题 ;#30197
  • 解决docker stats --format问题 ;#30776
第三方库相关
  • 更新bashzsh脚本;#30823](https://github.com/docker/docker/pull/30823),#30945……
  • 在默认的seccomp配置文件中阻止过时的套接字系列-缓解未修补内核的CVE-2017-6074;#29076](https://github.com/docker/docker/pull/29076)
其它

Windows相关

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值