Docker Engine 18.09发行说明
18.09.9
2019-09-03
客户
- 在非Windows上修复Windows绝对路径检测。码头工人/ cli#1990
- 修复了Docker拒绝从Windows上的委托委托中加载密钥的问题。码头工人/ cli#1968
- bash和zsh的完成脚本更新。
记录中
联网
- 通过禁用网络,防止连接到容器的网络出现混乱。莫比/莫比#39589
- 应用程序的修订服务端口随机变为不可用。码头工人/ libnetwork#2069
- 修复清理
--config-only
网络--config-from
网络剃毛的问题。码头工人/ libnetwork#2373
运行
- 更新至Go 1.11.13。
- 当对容器使用XFS磁盘配额时,修复潜在的引擎恐慌。莫比/莫比#39644
一群
- 修复“ grpc:收到的邮件大于最大数量”错误。莫比/莫比#39306
- 修复了无法删除多个任务节点的问题。码头工人/ swarmkit#2867
18.09.8
2019-07-17
运行
- 在调试模式下运行Docker Engine时,屏蔽了更新到日志文件的机密。CVE-2019-13509:如果Docker引擎以调试模式运行,并
docker stack deploy
用于重新部署包含非外部机密的堆栈,则日志将包含该机密。
客户
- 修复了
parallelism
和max_failure_ratio
字段的回滚配置类型插值。
已知问题
- 升级过程中有一些重要更改,如果未正确遵循,则会对升级期间在Swarm上运行的应用程序的可用性产生影响。这些限制会影响从18.09之前的任何版本到18.09或更高版本的任何升级。
18.09.7
2019-06-27
建造者
- 修复了构建仅包含注释的dockerfile时的紧急错误。莫比/莫比#38487
- 添加了GCR身份验证问题的解决方法。莫比/莫比#38246
- 下一步生成器:修复了GCR令牌缓存实施解决方法中的错误。莫比/莫比#39183
联网
- 修复了
--network-rm
无法删除网络的错误。莫比/莫比#39174
运行
- 在aufs和图层存储中添加了性能优化,有助于大规模并行创建和删除容器。Moby / moby#39107,Moby / moby#39135
- 已将容器更新为版本1.2.6。白鲸/白鲸#39016
- 修复了具有目录遍历的CVE-2018-15664 symlink-exchange攻击。莫比/莫比#39357
- Windows:修复了对的支持
docker service create --limit-cpu
。莫比/莫比#39190 - 守护程序:修复了镜像验证问题。 莫比/莫比#38991
- Docker不再支持在ID映射中对UID和GID范围进行排序。莫比/莫比#39288
记录中
- 添加了一个修复程序,该修复程序现在允许记录器插件的日志行较大。莫比/莫比#39038
已知问题
- 升级过程中有一些重要更改,如果未正确遵循,则会对升级期间在Swarm上运行的应用程序的可用性产生影响。这些限制会影响从18.09之前的任何版本到18.09或更高版本的任何升级。
18.09.6
2019-05-06
建造者
- 已修复,
COPY
并且ADD
具有多个<src>
,不会使高速缓存无效DOCKER_BUILDKIT=1
。白鲸/白鲸#38964
联网
- 关闭代理后,请清理集群提供程序。码头工人/ libnetwork#2354
- Windows:现在,如果用户未指定主机端口,则选择一个随机主机端口。泊坞窗/ libnetwork#2369
已知的问题
- 升级过程中有一些重要更改,如果未正确遵循,则会对升级期间在Swarm上运行的应用程序的可用性产生影响。这些限制会影响从18.09之前的任何版本到18.09或更高版本的任何升级。
18.09.5
2019-04-11
建造者
- 修复了
DOCKER_BUILDKIT=1 docker build --squash ..
docker / engine#176
客户
- 修复了tty初始大小错误。码头工人/ cli#1775
- 修复了Dial-stdio goroutine泄漏。码头工人/ cli#1795
- 修复了用于跟踪部署的堆栈通知程序的选择器。码头工人/ cli#1794
联网
- 修复
network=host
了resolv.conf
与错误的使用systemd-resolved
。码头工人/引擎#180 - 修复了Windows ARP条目在负载下随机损坏的问题。泊坞窗/引擎#192
运行
- 现在显示已停止的容器,其重启策略为
Restarting
。码头工人/引擎#181 - 现在对执行人员使用原始流程规范。码头工人/引擎#178
群模式
- 修复了删除节点时泄漏的任务资源。码头工人/引擎#185
已知的问题
- 升级过程中有一些重要更改,如果未正确遵循,则会对升级期间在Swarm上运行的应用程序的可用性产生影响。这些限制会影响从18.09之前的任何版本到18.09或更高版本的任何升级。
18.09.4
2019-03-28
建造者
- 通过添加验证来修复CVE-2019-13139,
git ref
以避免将其误解为标志。莫比/莫比#38944
运行
- 修复
docker cp
了文件名大于100个字符的错误。莫比/莫比#38634 - 已修复,
layer/layer_store
以确保NewInputTarStream
释放资源。白鲸/白鲸#38413 - 增加了GRPC的限制
GetConfigs
。莫比/莫比#38800 - 更新了
containerd
1.2.5。码头工人/引擎#173
群模式
- 修复了将节点加入集群时nil指针异常的问题。白鲸/白鲸#38618
- 修复了如果设置了http代理的群体节点无法加入为主节点的问题。[moby / moby#36951]
已知的问题
18.09.3
2019-02-28
网络修复
- Windows:现在避免重新生成网络ID,以防止损坏对网络的引用。码头工人/引擎#149
- Windows:修复了
- restart always
在指定网络时无法解决独立容器上的标志的问题。(码头工人/升级#1037) - 修复了如果管理器未连接到覆盖网络时从networkdb解决IPAM状态的问题。(码头工人/升级#1049)
运行时修复和更新
- 更新到Go版本1.10.8。
- 容器名称生成器中的已修改名称。码头工人/引擎#159
- 复制现有文件夹时,现在将忽略目标文件系统不支持xattr时的xattr设置错误。码头工人/引擎#135
- Graphdriver:固定的“设备”模式,如果设置了“字符设备”位。码头工人/引擎#160
- 修复了nil指针在无法连接到容器时会取消引用的问题。码头工人/引擎#162
- 启动失败时删除了过时的容器对象。码头工人/引擎#154
已知的问题
18.09.2
2019-02-11
安全修复
- 更新
runc
以解决一个严重漏洞,该漏洞使特制容器可以在主机上获得管理特权。CVE-2019-5736 - 使用3.13内核的Ubuntu 14.04客户将需要升级到受支持的Ubuntu 4.x内核
有关更多信息,请参阅Docker博客文章。
已知的问题
18.09.1
2019-01-09
有关此版本的重要说明
在18.09之前的Docker版本中,containerd由Docker引擎守护程序管理。在Docker Engine 18.09中,容器化由systemd管理。由于容器化是由systemd管理的,docker.service
因此更改装载设置(例如MountFlags=slave
)的systemd配置的任何自定义配置都会中断Docker Engine守护程序和容器化之间的交互,因此您将无法启动容器。
运行以下命令以获取MountFlags
属性的当前值docker.service
:
sudo systemctl show --property=MountFlags docker.service
MountFlags=
如果此命令显示的非空值MountFlags
,请更新您的配置,然后重新启动docker服务。
安全修复
- 将Go语言升级到1.10.6以解决CVE-2018-16873,CVE-2018-16874和CVE-2018-16875。
- 修复了用于长度为0的内容和路径验证的authz插件。
- 已添加
/proc/asound
到屏蔽路径docker / engine#126
改进之处
- 更新至BuildKit 0.3.3 docker / engine#122
- 更新为容器化的1.2.2 docker / engine#144
- 提供了有关使用不建议使用的旧版覆盖和devicemapper存储驱动程序docker / engine#85的其他警告
- 修剪:在构建缓存修剪docker / cli#1532之前执行图像修剪
- 为实验性CLI命令添加了bash补全(清单)docker / cli#1542
- Windows:允许Windows 10 docker / engine#81上的进程隔离
修正
- 在RHEL / CentOS(docker / escalation#614,docker / escalation#692)docker / engine#121上的runc中禁用kmem计费
- 修复了效率低下的网络配置docker / engine#123
- 修复了docker system prune过滤器docker / engine#122之前不接受的问题
- 避免在docker / engine#122中取消设置凭据
containerd
- 修复了Debian docker / engine#107上的iptables兼容性
- 修复了将Docker主机docker / cli#1454的默认架构设置为tcp的问题
- 修复了docker / cli#1526的bash完成
service update --force
- Windows:清理docker / engine#113中的DetachVhd尝试
- API:正确处理无效的JSON以返回400状态的docker / engine#110
- API:忽略API <1.39 docker / engine#118上的默认地址池
- API:将缺少的默认地址池字段添加到swagger docker / engine#119
- awslogs:在限制docker / engine#112中考虑UTF-8规范化
- 禁止在HTTP错误响应docker / engine#114中读取超过1MB的内容
- apparmor:允许接收来自docker / engine#116的信号
docker kill
- overlay2:如果可能,使用index = off(在挂载上修复EBUSY)docker / engine#84
包装
- 为docker.service添加docker.socket要求。docker / docker-ce-packaging#276
- 为基于RHEL的发行版添加套接字激活。docker / docker-ce-packaging#274
- 为RPM软件包添加libseccomp要求。码头工人/ docker-ce-packaging#266
已知的问题
- 从18.09.0升级到18.09.1时,
containerd
在Ubuntu上没有升级到正确的版本。 - 升级过程中有一些重要更改,如果未正确遵循,则会对升级期间在Swarm上运行的应用程序的可用性产生影响。这些限制影响从18.09之前的任何版本到18.09或更高版本的任何升级。
18.09.0
2018-11-08
有关此版本的重要说明
在18.09之前的Docker版本中,containerd由Docker引擎守护程序管理。在Docker Engine 18.09中,容器化由systemd管理。由于容器化是由systemd管理的,docker.service
因此更改装载设置(例如MountFlags=slave
)的systemd配置的任何自定义配置都会中断Docker Engine守护程序和容器化之间的交互,因此您将无法启动容器。
运行以下命令以获取MountFlags
属性的当前值docker.service
:
sudo systemctl show --property=MountFlags docker.service
MountFlags=
如果此命令显示的非空值MountFlags
,请更新您的配置,然后重新启动docker服务。
新的功能
- API版本更新为1.39 Moby / moby#37640
- 添加了对使用SSH docker / cli#1014的远程连接的支持
- 生成器:向API Moby / moby#37651添加了修剪选项
- 向
/info
端点添加了“警告” ,并将检测移动到守护程序moby / moby#37502 - 允许BuildKit构建在未启用实验模式的情况下运行。Buildkit现在可以在daemon.json中配置为选项.json moby / moby#37593 moby / moby#37686 moby / moby#37692 docker / cli#1303 docker / cli#1275
- 添加了对
--secret
使用BuildKit docker / cli#1288时使用标志的构建时机密的支持 docker build --ssh $SSHMOUNTID=$SSH_AUTH_SOCK
使用BuildKit docker / cli#1438 / docker / cli#1419时添加了SSH代理套接字转发器()- 在Windows Moby / Moby上添加了对
--chown
标志ADD
和COPY
命令的标志支持#35521 builder prune
向修剪BuildKit构建缓存docker / cli#1295 docker / cli#1334添加了子命令- BuildKit:为BuildKit构建缓存docker / engine#59 / moby / moby#37846添加可配置的垃圾收集策略
- BuildKit:添加了对
docker build --pull ...
使用BuildKit moby / moby#37613的支持 - BuildKit:使用BuildKit docker / engine#59 / moby / moby#37852时添加支持或“注册表镜像”和“不安全注册表”
- BuildKit:启用网络模式和桥接。白鲸/白鲸#37620
- 添加了
docker engine
子命令来管理以特权容器的形式在容器之上运行的Docker Engine的生命周期,并允许升级到Docker Engine Enterprise docker / cli#1260 docker info
输出docker / cli#1313中的已公开产品许可证- 显示守护程序在
docker info
输出docker / cli#1225中产生的警告 - 添加了“本地”日志驱动程序moby / moby#37092
- Amazon CloudWatch:添加
awslogs-endpoint
日志记录选项moby / moby#37374 - 添加了对全局默认地址池的支持moby / moby#37558 docker / cli#1233
- 配置的容器化日志级别与dockerd moby / moby#37419相同
- 为cri-containerd moby / moby添加了配置选项#37519
- 将容器化的客户端更新为v1.2.0-rc.1 moby / moby#37664,docker / engine#75 / moby / moby#37710
- 添加了对全局默认地址池的支持moby / moby#37558 docker / cli#1233
- 将
POST /session
端点移出实验。莫比/莫比#40028
改进之处
<unknown>
在/ info响应moby / moby#37472中不返回“ ”- BuildKit:更改
--console=[auto,false,true]
至--progress=[auto,plain,tty]
泊坞窗/ CLI#1276 - BuildKit:设置BuildKit的ExportedProduct变量以在将来显示有用的错误。莫比/莫比#37439
--data-path-addr
连接到不支持此选项的守护程序时隐藏标记docker / docker / cli#1240- 仅在启用BuildKit的情况下显示特定于buildkit的标志docker / cli#1438 / docker / cli#1427
- 改进了版本输出对齐方式docker / cli#1204
- 按自然顺序对插件名称和网络进行排序docker / cli#1166,docker / cli#1266
- 更新bash和zsh完成脚本
- 将日志级别传递到容器。莫比/莫比#37419
- 在东西覆盖负载使用直接服务器返回(DSR)平衡泊坞窗/发动机#93 /泊坞窗/ libnetwork#2270
- Builder:使用buildkit时暂时禁用桥接网络。莫比/莫比#37691
- 阻止任务开始直到节点附件准备就绪Moby / Moby#37604
- 将提供的外部CA证书传播到swarm中的外部CA对象。码头工人/ cli#1178
- 移除Ubuntu 14.04“ Trusty Tahr”作为受支持的平台docker-ce-packaging#255 / docker-ce-packaging#254
- 删除Debian 8“ Jessie”作为受支持的平台docker-ce-packaging#255 / docker-ce-packaging#254
- 删除容器和Runc二进制文件docker / engine#61 / moby / moby#37907,docker -ce-packaging#241的'docker-'前缀
- 将“ engine”,“ cli”和“ containerd”拆分为单独的程序包,并作为单独的系统服务容器运行docker-ce-packaging#131,docker-ce-packaging#158
- 使用Go 1.10.4 docker -ce-packaging构建二进制文件#181
-ce
从版本字符串docker-ce-packaging#206中删除后缀
修正
- BuildKit:不要取消buildkit状态请求。莫比/莫比#37597
- 修复了在docker build moby / moby#37396过程中如果缺少args不会显示错误的问题
- 修复了添加8GB文件moby / moby#37771时的错误“意外EOF”
- LCOW:确保在
COPY
/上填充平台ADD
。莫比/莫比#37563 - 修复了将一系列主机端口映射到单个容器端口docker / cli#1102的问题
- 修正
trust inspect
拼写错误:“AdminstrativeKeys
” docker / cli#1300 - 修复了环境文件解析问题,以导入缺少的变量和没有名称的变量。码头工人/ cli#1019
- 修复了当运行
docker image prune
大量悬空图像docker / cli#1432 / docker / cli#1423时可能出现的“内存不足异常” - 修复了Windows Moby / moby#37600上ConEmu和ConsoleZ中的管道处理
- 修复Windows上长时间启动的问题,并使用非hns控制的Hyper-V网络docker / engine#67 / moby / moby#37774
- 修复了在配置文件和cli docker / engine#57 / moby / moby#37871中都定义了“运行时”选项时,守护程序无法启动的问题
- 松开
/etc/docker
目录权限以防止使用docker manifest inspect
docker / engine#56 / moby / moby#37847时出现“权限被拒绝”错误 - 服务拒绝修复与大量
cpuset-cpus
和cpuset-mems
泊坞窗/发动机#70 / MOBY / MOBY#37967 - LCOW:添加
--platform
到dockerdocker import
/ cli#1375 / docker / cli#1371 - LCOW:默认在Windows Moby / moby#37514上添加LinuxMetadata支持
- LCOW:安装到较短的容器路径,以避免命令行长度限制moby / moby#37659
- LCOW:使用错误的缓存层Moby / moby#37356修复了构建器
- 修复了使用docker
--follow
/ engine#48 moby / moby#37576 moby / moby#37734时json-log文件描述符泄漏的问题 - 修复了在关闭kqueue moby / moby上的观察器时可能出现的死锁#37392
- 使用基于轮询的观察器来解决Windows Moby / moby#37412中的文件缓存问题
- 通过为网络层moby / moby提供适当的resolv.conf来处理systemd解决的情况
- 删除对TLS <1.2 moby / moby#37660的支持
- Seccomp:将链接到
CAP_SYS_NICE
默认seccomp配置文件moby / moby#37242中的白名单系统调用 - Seccomp:将syslog系统调用移至
CAP_SYS_ADMIN
或CAP_SYSLOG
docker / engine#64 / moby / moby#37929进行门控 - SELinux:修复了在启用Selinux的系统上通过Mounts API指定的本地卷的重新标记的方法moby / moby#37739
- 如果可以通过不安全的连接moby / moby#37684访问REST API,则添加警告
- 当在系统信息docker / engine#72 / moby / moby#37934中显示时,从URL屏蔽代理凭据
- 修复了btrfs docker / engine#86 / moby / moby#38026的挂载传播
- 修正零指针引用在节点分配搬运工/发动机#94 /搬运工/ swarmkit#2764
已知的问题
- 升级过程中有一些重要更改,如果未正确遵循,则会对升级期间在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。中解决。
弃用通知
-
Docker已弃用对Device Mapper作为存储驱动程序的支持。目前将继续支持它,但是在将来的版本中将删除该支持。
现在,Overlay2存储驱动程序是Docker引擎实现的默认设置。
有关不推荐使用的标志和API列表的更多信息,请查看不推荐使用的信息,您可以在其中找到目标删除日期。
寿命终止通知
在此版本中,Docker还删除了对TLS <1.2 moby / moby#37660,Ubuntu 14.04“ Trusty Tahr ” docker -ce-packaging#255 / docker-ce-packaging#254和Debian 8“ Jessie” docker-ce的支持。 -packaging#255 / docker -ce-packaging#254。