Docker Engine 18.03 发行说明
目录
18.03.1-ce
2018-04-26
客户端
- 修复合并带有网络的 compose 文件时出现的错误 docker/cli#983
- 修复 `docker stack deploy` 在服务通过 `--force` 更新后重新部署服务的问题 docker/cli#963
- 修复 `docker version` 输出对齐问题 docker/cli#965
运行时
- 修复 AppArmor 配置文件未应用于 `docker exec` 进程的问题 moby/moby#36466
- 不对插件挂载切片进行排序 moby/moby#36711
- Daemon/cluster: 处理配置期间的部分附件条目 moby/moby#36769
- 将 Golang 升级到 1.9.5 moby/moby#36779 docker/cli#986
- Daemon/stats: 更具弹性的 CPU 采样 moby/moby#36519
- Containerd: 更新到 1.0.3 版本 moby/moby#36749
- 修复 Windows 层写入失败时的泄漏问题 moby/moby#36728
- 不要使容器挂载不可绑定 moby/moby#36768
- 修复守护进程重启后,容器导出时守护进程崩溃的问题 moby/moby/36586
- 修复身份验证错误时摘要缓存被移除的问题 moby/moby#36509
- 确保插件容器在失败时被移除 moby/moby#36715
- 复制: 避免与 authz 插件一起使用所有系统内存 moby/moby#36595
- 放宽一些 libcontainerd 客户端锁定 moby/moby#36848
- 更新 `hcsshim` 至 v0.6.10 以解决 CVE-2018-8115
Swarm 模式
- 将 Raft 选举心跳周期增加到心跳周期的 10 倍 moby/moby#36672
网络
- 优雅地从服务中移除 LB 端点 docker/libnetwork#2112
- 在 ServFail 上重试其他外部 DNS 服务器 docker/libnetwork#2121
- 提高网桥网络隔离规则的可伸缩性 docker/libnetwork#2117
- 允许更大的预设属性值,不覆盖 docker/libnetwork#2124
- 防止在调用 `changeNodeState` 时发生并发读/写死锁 docker/libnetwork#2136
18.03.0-ce
2018-03-21
构建器
- 切换到 -buildmode=pie moby/moby#34369
- 允许 Dockerfile 位于构建上下文之外 docker/cli#886
- Builder: 修复从 tar 包构建时缓存命中错误的问题 moby/moby#36329
- 修复多阶段构建中文件泄漏到其他镜像的问题 moby/moby#36338
客户端
- 简化 compose types.Config 的编组 docker/cli#895
- 添加部署时支持多个 compose 文件 docker/cli#569
- 修复损坏的 Kubernetes 堆栈标志 docker/cli#831
- 修复 Kubernetes 堆栈编组问题 docker/cli#890
- 修复并简化服务环境变量、挂载和标签的 bash 补全 docker/cli#682
- 修复 `docker ps` 的 `before` 和 `since` 过滤器 moby/moby#35938
- 修复 `--label-file` 的奇怪行为 docker/cli#838
- 修复默认凭证存储 (defaultCredentialStore()) 在不支持平台上的编译问题 docker/cli#872
- 改进并修复镜像的 bash 补全 docker/cli#717
- 在绑定挂载中添加对空源的检查 docker/cli#824
- 修复客户端环境变量中的 TLS 问题 moby/moby#36270
- 当配置了注册表特定的凭证助手时,docker build 现在运行得更快 docker/cli#840
- 更新事件过滤器 zsh 补全,增加 `disable`、`enable`、`install` 和 `remove` docker/cli#372
- 当空 ID 传递给 inspect 调用时产生错误 moby/moby#36144
- 为 k8s 控制器编组版本 docker/cli#891
- 为与插件后端进行 HTTP 客户端通信设置非零超时 docker/cli#883
- 为 --tls 选项添加 DOCKER_TLS 环境变量 docker/cli#863
- 为 secrets/configs 添加 --template-driver 选项 docker/cli#896
- 将 `docker trust` 命令移出实验阶段 docker/cli#934 docker/cli#935 docker/cli#944
日志记录
- AWS 日志 - 不对最大大小的事件添加新行 moby/moby#36078
- 在插件加载后移动日志验证逻辑 moby/moby#36306
- 在 Splunk 日志驱动程序中支持代理 moby/moby#36220
- 修复空日志的日志尾部问题 moby/moby#36305
网络
- Libnetwork 重新供应商化 moby/moby#36137
- 修复 Memberlist revendor 退出时的死锁问题 docker/libnetwork#2040
- 修复用户指定的 ndots 选项 docker/libnetwork#2065
- 修复在 Windows 上使用 ContainerID 而不是 SandboxID 的问题 docker/libnetwork#2010
- 验证 NetworkingConfig 以确保 EndpointSettings 不为 nil moby/moby#36077
- 修复 `DockerNetworkInternalMode` 问题 moby/moby#36298
- 修复可附加网络附件中的竞争条件 moby/moby#36191
- 修复 AArch64 上 `InspectNetwork` 的超时问题 moby/moby#36257
- 部分覆盖 ID 的详细信息缺失 moby/moby#35989
- 更新 `FindNetwork` 以解决网络名称重复问题 moby/moby#30897
- 禁止附加入口网络 docker/swarmkit#2523
- 防止隐式移除入口网络 moby/moby#36538
- 修复 Windows 上过时的 HNS 端点 moby/moby#36603
- IPAM 修复重复 IP 地址问题 docker/libnetwork#2104 docker/libnetwork#2105
运行时
- 为 Windows 启用 HotAdd moby/moby#35414
- LCOW: Graphdriver 修复 hotRemoveVHDs 中的死锁问题 moby/moby#36114
- LCOW: 如果只有一层,则常规挂载 moby/moby#36052
- 移除临时环境变量 LCOW_API_PLATFORM_IF_OMITTED moby/moby#36269
- 重新供应商化 Microsoft/opengcs @ v0.3.6 moby/moby#36108
- 修复 ExitCode 和 PID 未在 Task.Status.ContainerStatus 中显示的问题 moby/moby#36150
- 修复插件扫描程序扫描过深的问题 moby/moby#36119
- 不将 graphdriver 主目录设置为私有挂载 moby/moby#36047
- 在 zfs/btrfs 清理时不递归卸载 moby/moby#36237
- 如果层不存在,则不恢复镜像 moby/moby#36304
- 调整模板化配置/密钥的最低 API 版本 moby/moby#36366
- 将 containerd 升级到 1.0.2 (cfd04396dc68220d1cecbe686a6cc3aa5ce3667c) moby/moby#36308
- 将 Golang 升级到 1.9.4 moby/moby#36243
- 确保守护进程根目录在关闭时被卸载 moby/moby#36107
- 更新 runc 至 6c55f98695e902427906eed2c799e566e3d3dfb5 moby/moby#36222
- 修复守护进程重启时容器清理问题 moby/moby#36249
- 支持 SCTP 端口映射 (将 API 升级到 v1.37) moby/moby#33922
- 支持 SCTP 端口映射 docker/cli#278
- 修复 ContainerConfig 中 Volumes 属性定义问题 moby/moby#35946
- 更新 moby 和依赖项 docker/cli#829
- C.RWLayer: 使用前检查是否为 nil moby/moby#36242
- 将 `REMOVE` 和 `ORPHANED` 添加到 TaskState moby/moby#36146
- 修复使用 `IsErrNotFound` 和 `IsErrNotImplemented` 检测 `ContainerStatPath`、`CopyFromContainer` 和 `CopyToContainer` 方法的错误 moby/moby#35979
- 添加 integration/internal/container 辅助包 moby/moby#36266
- 添加规范导入路径 moby/moby#36194
- 添加/使用 container.Exec() 到集成 moby/moby#36326
- 修复 "--node-generic-resource" 单数/复数问题 moby/moby#36125
- Daemon.cleanupContainer: 在释放后将容器 RWLayer 置空 moby/moby#36160
- Daemon: 将 `--oom-kill-disable` 选项传递给 containerd moby/moby#36201
- 当存在绑定端口且网络模式为 host 时显示警告消息 moby/moby#35510
- 在 containerd 重启时刷新 containerd 远程 moby/moby#36173
- 将守护进程根目录设置为使用共享传播 moby/moby#36096
- 递归卸载优化 moby/moby#34379
- 在运行时执行插件挂载 moby/moby#35829
- Graphdriver: 修复 RefCounter 内存泄漏 moby/moby#36256
- 使用 continuity fs 包进行卷复制 moby/moby#36290
- 使用 proc/exe 进行重新执行 moby/moby#36124
- 添加对模板化密钥和配置的 API 支持 moby/moby#33702 和 moby/moby#36366
- 对守护进程根目录的挂载使用 rslave 传播 moby/moby#36055
- 将 /proc/keys 添加到被遮蔽路径 moby/moby#36368
- 将 Runc 升级到 1.0.0-rc5 moby/moby#36449
- 修复大端架构上的 `runc exec` 问题 moby/moby#36449
- 当未提供挂载命名空间时使用 chroot moby/moby#36449
- 修复 systemd slice 扩展,使其可被 cAdvisor 消费 moby/moby#36449
- 修复设备挂载时 uid/gid 错误的问题 moby/moby#36449
- 修复带有 IPC 私有挂载的只读容器中 `/dev/shm` 也是只读的问题 moby/moby#36526
Swarm 模式
- 将 EC 私钥替换为 PKCS#8 PEM docker/swarmkit#2246
- 修复空 EndpointSpec 的 IP 重叠问题 docker/swarmkit #2505
- 添加对 SCTP 端口映射的支持 docker/swarmkit#2298
- 如果只有放置约束发生变化且被分配的节点满足,则不重新调度任务 docker/swarmkit#2496
- 确保任务收割器 stopChan 最多关闭一次 docker/swarmkit #2491
- 同步修复 docker/swarmkit#2495
- 添加日志消息以指示如果流式处理未实现,则重试消息发送 docker/swarmkit#2483
- 调度器上的会话、节点事件、心跳的调试日志 docker/swarmkit#2486
- 将 swarm 类型添加到 bash 补全事件类型过滤器 docker/cli#888
- 修复网络检查不显示 swarm 范围网络的创建时间的问题 moby/moby#36095