Docker Desktop 发行说明
本页包含 Docker Desktop 各发行版本中的新功能、改进、已知问题和错误修复相关信息。
发行版本会逐步推广以确保质量控制。如果最新版本暂不可用,请稍等 — 更新通常会在发布日期后的一周内推出。
距最新版本发布已超过 6 个月的 Docker Desktop 版本不再提供下载。之前的发行说明可在我们的文档仓库中查阅。
更多常见问题,请参阅常见问题。
警告
如果您在 Mac 上遇到恶意软件检测问题,请按照 docker/for-mac#7527中记录的步骤操作。
4.40.0
2025-03-31下载 Docker Desktop
Windows (校验和) | Windows ARM Beta (校验和) | 配备 Apple 芯片的 Mac (校验和) | 配备 Intel 芯片的 Mac (校验和) | Debian - RPM - Arch (校验和)
新增
- 现在,您可以使用Docker Model Runner (Beta)直接在 Docker Desktop 中从 Docker Hub 拉取、运行和管理 AI 模型。当前适用于配备 Apple 芯片的 Mac 版 Docker Desktop。
更新组件
- Docker Buildx v0.22.0
- Docker Compose v2.34.0
- Docker Engine v28.0.4
- Docker Scout CLI v1.17.0
- compose-bridge v0.0.18
- NVIDIA Container Toolkit v1.17.5
错误修复与改进
适用于所有平台
- 修复了导致
docker-proxy
停止将 UDP 数据报转发到容器的错误。 - 修复了导致 docker-proxy 过早关闭与容器的 UDP 连接,从而导致源地址不必要地改变的错误
- 修复了在某些情况下阻止 Docker Desktop Kubernetes 启动的竞争条件。
- 改进了 ECI 在配置了代理的环境中从仓库收集镜像摘要信息的方式。
- 现在,用户在使用新的
--timeout
标志生成私有扩展市场时可以指定超时时间。 - 移除了 Mac 和 Linux 上未使用的内部辅助工具
com.docker.admin
。
适用于 Mac
- 修复了 Docker VMM 中陈旧的目录缓存阻止检测移动或新文件的问题。
- 移除了 Time Machine 工具受限时出现的“继续/重启”弹出窗口。
- Docker Desktop 现在允许通过
docker run -v /path/to/unix.sock:/unix.sock
与容器共享 Unix 域套接字。必须在绑定挂载中指定完整的套接字路径。详见 for-mac/#483。 - 修复了当为指定了端口的服务器存储令牌时,
docker-credential-osxkeychain
和docker-credential-desktop
返回格式错误的 URI 的错误。
适用于 Windows
- 通过 GUI 安装时,Windows MSI 和
.exe
安装程序现在默认禁用 Windows 容器。 - 改进了 WSL2 上的端口映射吞吐量。
已知问题
适用于 Windows
- 在显示特权助手错误消息时切换到 Windows 容器可能会导致状态不一致。作为变通方法,请退出 Docker Desktop,在
settings-store.json
中将UseWindowsContainers
更改为false
,然后重新启动 Docker Desktop。 - 安装后,
Docker Desktop.exe
不包含最新的版本信息。
4.39.0
2025-03-05下载 Docker Desktop
Windows (校验和) | Windows ARM Beta (校验和) | 配备 Apple 芯片的 Mac (校验和) | 配备 Intel 芯片的 Mac (校验和) | Debian - RPM - Arch (校验和)
新增
- Docker Desktop CLI 现已正式发布。您现在还可以使用新的
docker desktop logs
命令打印日志。 - Docker Desktop 现在支持
docker load
和docker save
命令上的--platform
标志。这有助于您导入和导出多平台镜像的子集。
更新组件
- Docker Compose v2.33.1
- Docker Buildx v0.21.1
- Kubernetes v1.32.2
- Docker Engine v28.0.1
- Docker Scout CLI v1.16.3
安全
- 修复了 CVE-2025-1696,该漏洞可能在日志文件中以明文形式泄露代理身份验证凭据。
错误修复与改进
适用于所有平台
- Ask Gordon 现在提供关于 Docker 镜像、容器和卷的更深入上下文,提供更快的支持,并通过 Docker Desktop 和 Docker CLI 启用更多用户操作。
- 通过允许用户在
docker history
中选择特定平台来支持多平台镜像 - 修复了一个问题,该问题导致除了 CLI 和 Docker Desktop 之外的客户端在存在带有端口映射的容器时会看到 3 秒的延迟。参见 docker/for-mac#7575
- 修复了 ECI (增强型容器隔离) Docker socket 权限中的一个错误,该错误有时会导致在允许的镜像或从允许的镜像派生的镜像的容器上阻止 Docker socket 挂载。
- 修复了一个错误,该错误阻止了 Docker Desktop 在引擎重启后立即再次进入资源节约模式。
- 修复了一个问题,该问题导致 Kubernetes 集群因 PKI 证书过期而停止工作。
适用于 Mac
- 将 Linux 内核降级到
v6.10.14
,以修复 OpenJDK 中的一个错误,该错误导致 Java 容器因 cgroups 控制器错误识别而终止。参见 docker/for-mac#7573。 - 在根挂载命名空间中添加了
/usr/share/misc/usb.ids
文件,以修复usbip
。 - 修复了在使用 Docker VMM 时,CPU 限制的显示上限为 8 的问题。
- 修复了启动会挂起且
com.docker.backend
进程占用了 100% CPU 的问题。参见 docker/for-mac#6951。 - 修复了一个错误,该错误导致在 M4 Macbook Pro 上运行的所有 Java 程序发出 SIGILL 错误。参见 docker/for-mac#7583。
- 阻止了在 macOS 15.4 beta 1 上的启动,因为启动虚拟机 (VMs) 会导致主机崩溃,参见 https://developer.apple.com/documentation/macos-release-notes/macos-15_4-release-notes#Virtual-Machines。
- 修复了 myIPAddress PAC 文件函数从错误的接口检索主机 IP,导致代理选择不正确的问题。
适用于 Windows
- 修复了在 WSL 中运行应用程序时阻止
docker compose log
流式输出的错误。 - 修复了当 Docker Desktop 使用 WSL 并启用增强型容器隔离时,Paketo buildpacks 失败的错误。
- 修复了一个错误,该错误会导致如果安装了 WSL Version 1 分发版,WSL 2 集成会失败。
- 修复了一个错误,该错误会导致如果启用了 WSL 分发版,某些 CLI 插件更新失败。
- 修复了一个错误,该错误导致在使用 PAC 文件进行代理配置时 Docker Desktop 登录会挂起,造成 UI 模糊并阻止访问。
对于 Linux
- 设置中的“**软件更新**”页面现在指向最新的可用版本。
4.38.0
2025-01-30下载 Docker Desktop
Windows (校验和) | Windows ARM Beta (校验和) | 搭载 Apple 芯片的 Mac (校验和) | 搭载 Intel 芯片的 Mac (校验和) | Debian - RPM - Arch (校验和)
新增
- 通过 PKG 安装程序安装 Docker Desktop 现在已正式发布。
- 通过配置配置文件强制登录现在已正式发布。
- Docker Compose、Docker Scout、Docker CLI 和 Ask Gordon 现在可以独立于 Docker Desktop 进行更新,并且无需完全重启(Beta 版)。
- 新的
update
命令 已添加到 Docker Desktop CLI(仅限 Mac)。 - Bake 现在已正式发布,支持 entitlements 和可组合属性。
- 您现在可以在 Docker Desktop 中创建多节点 Kubernetes 集群。
- Ask Gordon 现已更广泛可用。它仍处于 Beta (测试) 阶段。
更新组件
- containerd v1.7.24
- Docker Buildx v0.20.1
- Docker Compose v2.32.4
- Docker Engine v27.5.1
- Docker Scout CLI v1.16.1
- Runc v1.2.2
- NVIDIA Container Toolkit v1.17.4
- Kubernetes v1.31.4
- Docker Debug
v0.0.38
错误修复与改进
适用于所有平台
- 修复了一个错误,该错误导致由
docker login
Web 流程生成的访问令牌无法由 Docker Desktop 刷新。 - 修复了一个错误,该错误导致在使用
curl
通过 Docker API 创建容器时,如果增强型容器隔离启用,则创建失败。 - 修复了一个错误,该错误导致 RAM 策略在刷新周期结束后未刷新。
- 修复了增强型容器隔离中的一个错误,该错误发生在将 Docker socket 挂载到容器内,然后从该容器内部使用 bind-mount 创建 Docker 容器时。
- 修复了导致 GUI 和 CLI 之间不一致的问题,GUI 在端口映射中强制使用
0.0.0.0
作为 HostIP。这导致通过 Engine 的ip
标志或桥接选项com.docker.network.bridge.host_binding_ipv4
配置的默认绑定 IP 未被使用。 - 修复了一个错误,该错误导致在
admin-settings.json
中pac
设置被忽略。 - 构建 UI
- 在导入构建时添加了进度状态。
- 修复了一个错误,该错误导致用户无法导入构建。
- 修复了一个错误,该错误导致一些使用 SSH 端点的构建器未被跳过。
适用于 Mac
- 修复了 Docker VMM 中的一个错误,该错误导致来自非根卷的 bind-mount 未按预期工作。
- 修复了导致在没有 IPv6 的系统上启动失败的问题。修复了 docker/for-win#14298。
- 修复了导致 Docker Desktop 挂起的错误。参见 docker/for-mac#7493。
- 修复了一个问题,该问题导致如果设置文件丢失,卸载程序会失败。
- 修复了一个错误,该错误导致通过 Workspace One 部署的配置配置文件被忽略。
适用于 Windows
- Docker Desktop 安装程序启动时现在会显示 UAC 提示。
- 修复了一个问题,该问题导致 Docker Desktop 对于使用旧版 WSL 创建且与其他 WSL 分发版共享相同标识符的数据磁盘会启动失败。
- 当 WSL 集成设置更改时,Docker Desktop 现在会重启。这确保了在使用增强型容器隔离时 WSL 集成的正确设置。
对于 Linux
- 添加了对 gvisor 网络的支持。使用不兼容的 qemu 版本 (8.x) 的用户将保持使用 qemu 网络,而其他用户将自动迁移。
弃用
适用于所有平台
- 弃用了
com.docker.diagnose check|check-dot|check-hypervisordetect-host-hypervisor
。
4.37.2
2025-01-09下载 Docker Desktop
错误修复与改进
适用于 Mac
- 防止了一个错误,该错误导致 Docker Desktop 未能将
com.docker.vmnetd
或com.docker.socket
更新到更新版本。
已知问题
适用于 Mac
- 如果您看到关于
com.docker.vmnetd
或com.docker.socket
上的恶意软件的安全弹出窗口,请按照docker/for-mac#7527 中记录的步骤操作。
4.37.1
2024-12-17下载 Docker Desktop
Windows (校验和) | Windows ARM Beta (校验和) | 配备 Apple 芯片的 Mac (校验和) | 配备 Intel 芯片的 Mac (校验和) | Debian - RPM - Arch (校验和)
错误修复与改进
适用于所有平台
- 修复了导致 Docker Hub 中的 AI Catalog 在 Docker Desktop 中不可用的问题。
- 修复了在使用增强容器隔离时,Docker Desktop 因
index out of range [0] with length 0
而崩溃的问题。
已知问题
适用于 Mac
- 如果您看到有关
com.docker.vmnetd
或com.docker.socket
上存在恶意软件的安全弹窗,请按照 docker/for-mac#7527 中记载的步骤进行操作。
4.37.0
2024-12-12下载 Docker Desktop
Windows (校验和) | Windows ARM Beta (校验和) | 配备 Apple 芯片的 Mac (校验和) | 配备 Intel 芯片的 Mac (校验和) | Debian - RPM - Arch (校验和)
新增
- 现在可以直接从命令行界面执行 Docker Desktop 的关键操作,例如启动、停止、重启和检查状态(Beta 版)。
- Docker Hub 中的 AI Catalog 现在可以直接通过 Docker Desktop 使用。
更新组件
- Docker Buildx v0.19.2
- Docker Compose v2.31.0
- Docker Engine v27.4.0
- Docker Scout CLI v1.15.1
- NVIDIA Container Toolkit v1.17.2
错误修复与改进
适用于所有平台
- 新安装的 Docker Engine 的默认磁盘使用限制现在为 1TB。
- 修复了容器无法建立环回
AF_VSOCK
连接的问题。 - 修复了重置默认设置时也会重置 CLI 上下文的错误。
- 修复了在资源节省模式下(仅限使用 WSL2 后端的 Windows)重启引擎后,或切换引擎后(macOS),Docker Desktop Dashboard 会与 Docker daemon 不同步的错误。
- 修复了在资源节省模式下重启引擎后,资源节省模式无法重新启用的错误。
- 构建 UI
- 修复了某些构建找不到源文件的错误。
- 修复了错误日志未显示在源选项卡中的错误。
- 修复了用户必须滚动到底部才能在源选项卡中查看错误日志的错误。
- 修复了日志选项卡中时间戳损坏的错误。
适用于 Mac
- 修复了在运行两次带
sudo
的卸载程序二进制文件时,某些用户目录会以 root 权限创建的错误。
适用于 Windows
- 增加了对使用 WSL 2 版本 2.3.24 及更高版本的 Windows on ARM 在 WSL 2 单一发行版模式下的支持。
- 修复了 Docker Desktop 启动失败的问题。修复了 docker/for-win#14453
已知问题
适用于所有平台
- 如果启用了镜像仓库访问管理器,Kubernetes 集群可能无法启动。临时解决方案是,将
registry.k8s.io
和<geo>-docker.pkg.dev
添加到镜像仓库访问管理策略中。
适用于 Mac
- 如果您看到有关
com.docker.vmnetd
或com.docker.socket
上存在恶意软件的安全弹窗,请按照 docker/for-mac#7527 中记载的步骤进行操作。
弃用
适用于 Mac
- 在未来的版本中,将移除 Apple Silicon 上作为 VMM 的 QEMU (Legacy)。建议您切换到 Apple Virtualization Framework 以获得更高的性能和稳定性。如果遇到问题,请联系 Docker 支持或提交 GitHub issue。
- 在未来的版本中,将移除 osxfs (Legacy)。建议您切换到 VirtioFS 以获得更高的性能。如果遇到问题,请联系 Docker 支持或提交 GitHub issue。
4.36.1
2025-01-09下载 Docker Desktop
错误修复与改进
适用于 Mac
- 防止了一个错误,该错误导致 Docker Desktop 未能将
com.docker.vmnetd
或com.docker.socket
更新到更新版本。
已知问题
适用于 Mac
- 如果您看到关于
com.docker.vmnetd
或com.docker.socket
上的恶意软件的安全弹出窗口,请按照docker/for-mac#7527 中记录的步骤操作。
4.36.0
2024-11-18下载 Docker Desktop
Windows (校验和) | Windows ARM Beta (校验和) | 配备 Apple 芯片的 Mac (校验和) | 配备 Intel 芯片的 Mac (校验和) | Debian - RPM - Arch (校验和)
新增
- Windows 上使用 WSL2 引擎的现有 Docker Desktop 安装现在会自动迁移到统一的单一发行版架构,以提高一致性和性能。
- 管理员现在可以
- 增强容器隔离 (ECI) 已改进,现在可以
- 允许管理员关闭 Docker socket 挂载限制。
- 在使用
allowedDerivedImages
设置时支持通配符标签。
更新组件
- Docker Buildx v0.18.0
- Docker Compose v2.30.3
- Kubernetes v1.30.5
- NVIDIA Container Toolkit v1.17.0
- Docker Scout CLI v1.15.0
- Docker Init v1.4.0
- Linux 内核
v6.10.13
错误修复与改进
适用于所有平台
- 修复了一个 bug,该 bug 导致
docker events
命令在流式传输事件后不会终止。 - Docker Init:改进了不使用 Docker Compose 的 PHP 应用程序的 Dockerfile 缓存。
- 同步文件共享现在遵循
admin-settings.json
中的filesharingAllowedDirectories
设置。 - 修复了一个问题,该问题导致如果 Docker Desktop 配置为使用代理,它会在获取认证令牌时因内部超时而无法启动。
- 添加了恢复横幅,以便在下载失败时重试更新。
- 修复了一个问题,该问题导致如果
umask
设置为577
会导致rpmbuild
失败。修复了 docker/for-mac#6511。 - 修复了一个 bug,该 bug 将使用
--network=host
的容器限制为 18 个开放主机端口。 - 修复了非 root 容器的绑定挂载所有权问题。修复了 docker/for-mac#6243。
- Docker Desktop 在手动暂停后将不会自动恢复。系统将保持暂停状态,直到您手动恢复 Docker 引擎。这修复了一个 bug,该 bug 导致其他软件在后台运行 CLI 命令时意外触发恢复。修复了 for-mac/#6908
- 构建 UI
- Source 选项卡现在支持多个源文件。
- Info 选项卡中镜像依赖项的链接现在支持其他知名的注册中心,例如 GitHub、Google 和 GitLab。
- 如果仅选择了云构建,则禁用删除按钮。
- 修复了用户无法删除构建的问题。
- 修复了格式错误的 Jaeger 跟踪,这些跟踪缺少事件和链接。
- 修复了使用云驱动程序构建时缺少的导出属性。
适用于 Mac
- 修复了 Docker VMM 中的一个 bug,该 bug 阻止了 MySQL 和其他数据库容器启动。修复了 docker/for-mac#7464 报告的问题。
- Docker VMM 的最低内存要求现在会自动调整,从而改善了用户体验并解决了 docker/for-mac#7464、docker/for-mac#7482 报告的问题。
- 修复了一个 bug,该 bug 导致高级选项 允许特权端口映射 未按预期工作。修复了 docker/for-mac#7460。
- Docker Desktop 现在可以在安装向导和设置屏幕中自动配置 zsh、bash 和 fish 的 shell 补全脚本。
- 修复了一个 bug,该 bug 导致如果 Docker Desktop 是由非管理员用户安装的,或者如果当前用户以前是管理员,应用内更新会失败。修复了 for-mac/#7403 和 for-mac/#6920
适用于 Windows
- 修复了一个阻止绑定 UDP 端口 53 的 bug。
- 修复了一个 bug,该 bug 导致 Windows 守护程序选项在启动时被覆盖。
4.35.2
2025-01-09下载 Docker Desktop
错误修复与改进
适用于 Mac
- 防止了一个错误,该错误导致 Docker Desktop 未能将
com.docker.vmnetd
或com.docker.socket
更新到更新版本。
已知问题
适用于 Mac
- 如果您看到关于
com.docker.vmnetd
或com.docker.socket
上的恶意软件的安全弹出窗口,请按照docker/for-mac#7527 中记录的步骤操作。
4.35.1
2024-10-30下载 Docker Desktop
Windows (校验和) | Windows ARM 测试版 (校验和) | 配备 Apple 芯片的 Mac (校验和) | 配备 Intel 芯片的 Mac (校验和) | Debian - RPM - Arch (校验和)
适用于所有平台
- 修复了一个 bug,该 bug 导致 Docker Desktop 错误地绑定到端口
8888
。修复了 docker/for-win#14389 和 docker/for-mac#7468。
4.35.0
2024-10-24下载 Docker Desktop
Windows (校验和) | Windows ARM 测试版 (校验和) | 配备 Apple 芯片的 Mac (校验和) | 配备 Intel 芯片的 Mac (校验和) | Debian - RPM - Arch (校验和)
新增
- 对 Red Hat Enterprise Linux 上的 Docker Desktop 的支持现已全面可用。
- 卷备份和共享现已全面可用,可在卷视图中找到。
- 使用系统 shell 在 Docker Desktop 中进行终端支持现已全面可用。
- Docker VMM 的 Beta 版发布 - 这是 macOS 上 Apple Virtualization Framework 的性能更强的替代方案(需要 Apple Silicon 和 macOS 12.5 或更高版本)。
更新组件
- containerd v1.7.21
- Docker Buildx v0.17.1
- Docker Compose v2.29.7
- Docker Engine v27.3.1
- Docker Scout CLI v1.14.0
- Docker Debug
v0.0.37
- Linux 内核
v6.10.9
错误修复与改进
适用于所有平台
- 修复了一个 bug,该 bug 导致
daemon.json
中的代理设置会覆盖 Docker Desktop 设置中配置的代理。 - 修复了一个 bug,该 bug 导致某些 Docker 子网范围无法使用。
- 已移除 docker-index,因为它现已弃用,您可以改为使用
docker scout cves fs://<path to binary>
。 - 修复了一个 bug,该 bug 导致无法按标签对镜像进行排序或过滤。修复了 docker/for-win#14297。
- 修复了一个 bug,该 bug 导致当
registry.json
文件格式错误时,docker
CLI 未按预期工作。 - 修复了一个 bug,该 bug 导致镜像视图中的推送到 Docker Hub 操作会产生
invalid tag format
错误。修复了 docker/for-win#14258。 - 修复了一个问题,该问题导致当 ICMPv6 设置不成功时,Docker Desktop 启动失败。
- 添加了允许 USB/IP 工作的驱动程序。
- 修复了增强容器隔离 (ECI) 衍生镜像的 Docker 套接字挂载权限 中的一个 bug,该 bug 导致当 Docker Desktop 使用 containerd 镜像存储时,它会错误地拒绝某些镜像的 Docker 套接字挂载。
- 启用
NFT_NUMGEN
、NFT_FIB_IPV4
和NFT_FIB_IPV6
内核模块。 - 构建 UI
- 在高亮显示已完成构建列表中的构建检查警告。
- 改进构建时间图表的可视化效果。
- 将镜像标签添加到信息 (Info) 选项卡下的构建结果 (Build results) 部分。
- 提高了在 Mac 和 Linux 上全新安装时主机端磁盘利用率的效率。
- 修复了令牌过期时无法触发强制登录弹出窗口的错误。
- 修复了在使用强制登录时,登录后容器不会立即显示在 GUI 中的错误。
settings.json
已重命名为settings-store.json
- 主机网络功能不再需要用户登录即可使用。
适用于 Mac
- 修复了更改设置中的文件共享类型后,可能导致自动启动容器配置错误的错误。
- 修复了导致
~/.docker/cli-plugins
在启动时未填充的错误。 - 修复了阻止 php composer 或 postgres 以非 root 用户身份启动的错误。解决了 docker/for-mac#7415。
- 修复了可能导致主机上更改的文件显示不完整的错误。解决了 docker/for-mac#7438。
适用于 Windows
- 全新安装的 Windows 版 Docker Desktop 现在需要 Windows 版本 19045 或更高版本。
- 修复了在 WSL 中,如果在内核配置或通过内核命令行禁用 IPv6 会导致启动失败的问题。解决了 docker/for-win#14240
- 修复了 Windows 上的清理/清除数据按钮。解决了 docker/for-win#12650。
- 磁盘使用统计信息现在显示在 Dashboard 页脚中。
- 改进了 WSL 分发问题的恢复功能。
对于 Linux
- Docker Desktop 现在支持 Ubuntu 24.04。
已知问题
适用于 Mac
- 自版本 4.34.0 起,高级设置中的开关“允许特权端口映射”不再起作用。更多信息,请参见 docker/for-mac#7460。
适用于 Windows
- 版本 4.14.0 及更早版本的用户在使用应用内更新时可能会遇到问题。要更新到最新版本,请从本页下载并安装最新的 Docker Desktop。
4.34.4
2025-01-09下载 Docker Desktop
错误修复与改进
适用于 Mac
- 防止了一个错误,该错误导致 Docker Desktop 未能将
com.docker.vmnetd
或com.docker.socket
更新到更新版本。
已知问题
适用于 Mac
- 如果您看到关于
com.docker.vmnetd
或com.docker.socket
上的恶意软件的安全弹出窗口,请按照docker/for-mac#7527 中记录的步骤操作。
4.34.3
2024-10-09下载 Docker Desktop
Windows (校验和) | Windows ARM Beta 版 (校验和) | 搭载 Apple 芯片的 Mac (校验和) | 搭载 Intel 芯片的 Mac (校验和) | Debian - RPM - Arch (校验和)
更新组件
安全
- 修复了 CVE-2024-9348,该漏洞允许通过镜像构建详情源信息实现 RCE(远程代码执行)。
- 修复了 NVIDIA Container Toolkit 中的 CVE-2024-0132
- 修复了 NVIDIA Container Toolkit 中的 CVE-2024-0133
4.34.2
2024-09-12下载 Docker Desktop
Windows (校验和) | Windows ARM Beta 版 (校验和) | 搭载 Apple 芯片的 Mac (校验和) | 搭载 Intel 芯片的 Mac (校验和) | Debian - RPM - Arch (校验和)
错误修复与改进
适用于所有平台
- 修复了在资源节约模式下,
docker compose up
命令会变得无响应的错误。
安全
- 修复了 CVE-2024-8695,该漏洞允许通过精心编制的扩展描述/变更日志实现 RCE,恶意扩展可能滥用此漏洞。
- 修复了 CVE-2024-8696,该漏洞允许通过精心编制的扩展 publisher-url/additional-urls 实现 RCE,恶意扩展可能滥用此漏洞。
4.34.1
2024-09-05下载 Docker Desktop
Windows (校验和) | Windows ARM Beta 版 (校验和) |
错误修复与改进
适用于 Windows
- 修复了 Docker Desktop 无法启动的错误(通常在首次启动时发生),该错误是由于 Docker Desktop 错误地认为应用程序的另一个实例正在运行导致的。(解决了 docker/for-win#14294 和 docker/for-win#14034)。
4.34.0
2024-08-29下载 Docker Desktop
Windows (校验和) | Windows ARM Beta 版 (校验和) | 搭载 Apple 芯片的 Mac (校验和) | 搭载 Intel 芯片的 Mac (校验和) | Debian - RPM - Arch (校验和)
新增
- Docker Desktop 现在普遍提供主机网络支持。
- 如果您通过 CLI 进行身份验证,现在可以通过基于浏览器的流程进行身份验证,无需手动生成 PAT。
- Windows 现在支持为 WSL2 安装的 Docker Desktop 自动回收磁盘空间,使用托管虚拟硬盘。
- 通过 MSI 安装程序部署 Docker Desktop 现在已普遍可用。
- 两种新的强制登录方法(Windows 注册表项和
.plist
文件)现在已普遍可用。 - 全新安装的 Docker Desktop 现在默认使用 containerd 镜像存储。
- Compose Bridge (实验性) 现在可从 Compose 文件查看器中获取。轻松将您的 Compose 项目转换并部署到 Kubernetes 集群。
更新组件
- Docker Engine v27.2.0
- Docker Compose v2.29.2
- containerd v1.7.20
- Docker Scout CLI v1.13.0
- Docker Buildx v0.16.2
- Linux kernel
v6.10.1
错误修复与改进
适用于所有平台
- 修复了在使用 AutoRemove (
--rm
) 启动容器,但其端口绑定被 Docker Desktop 在启动时拒绝时,导致 CLI 变为空闲状态的 Bug。 - 修复了在支持屏幕上有时会诊断信息收集失败的 Bug。
- 修复了容器的文件选项卡中文件夹无法展开的 Bug。解决了 docker/for-win#14204。
- 应用内更新现在遵守代理设置。
- 扩展了 ECI Docker socket 挂载权限功能,可选地允许从允许的镜像派生的子镜像进行挂载。这使得 ECI 能够与使用 Docker socket 挂载创建临时本地镜像的 buildpacks(例如 Paketo)一起工作。
- 修复了在使用某些代理设置时导致容器视图闪烁的 Bug。解决了 docker/for-win#13972。
- 改进了
docker image list
的输出,以显示与多平台相关的镜像信息。
适用于 Mac
- 修复了触发配置完整性检查功能时偶尔出现
Partial repair error
的 Bug。 - 配置完整性检查功能现在会显示 Docker socket 配置错误的原因。
- 修复了当 Docker Desktop 以
User
身份安装时,配置完整性检查功能会报告系统路径而不是用户路径的问题。 - 修复了应用程序尝试从 bind mounted volumes 读取扩展属性时可能出现故障的 Bug。解决了 docker/for-mac#7377。
适用于 Windows
- 修复了当用户希望保留空的
credsStore
时,Docker Desktop 会将其重置为desktop
的 Bug。解决了 docker/for-win#9843。 - 修复了导致 Docker Desktop 在 WSL2 引擎中无法启动的 Bug。docker/for-win#14034。
- 修复了导致 WSL 分发意外终止的 Bug。解决了 docker/for-win/14230。
- 修复了导致 WSL 每次启动时都更新的问题。解决了 docker/for-win/13868, docker/for-win/13806。
已知问题
- 已知问题:Compose Bridge 在实验性功能设置选项卡中启用后不会自动工作。需要等待几分钟,直到收到必须“修复”Docker Desktop 的通知,然后才会安装
compose-bridge
二进制文件。 - 已知问题:即使 Kubernetes 正在运行且 Compose Bridge 已启用,Compose 文件查看器中的转换和部署按钮也可能被禁用。解决方法是在实验性功能设置选项卡中禁用 Compose Bridge,点击应用并重启使更改生效,然后重新启用并再次选择应用并重启。
- 已知问题:在使用 Docker CLI 对注册表进行身份验证 (
docker login [registry address]
) 时,如果提供的注册表地址包含仓库/镜像名称(例如docker login index.docker.io/docker/welcome-to-docker
),则仓库部分 (docker/welcome-to-docker
) 不会被标准化,导致凭据存储不正确,从而使得后续从该注册表拉取镜像 (docker pull index.docker.io/docker/welcome-to-docker
) 时无法进行身份验证。为防止此问题,在运行docker login
时,注册表地址中不要包含任何额外的后缀。注意
使用包含 URL 路径段的地址运行
docker login
不是一个有文档记录的使用场景,被认为是不受支持的。推荐的使用方法是在docker login
的地址中仅指定注册表主机名,并可选地包含端口。 - 已知问题:当运行
docker compose up
且 Docker Desktop 处于 Resource Saver 模式时,命令无响应。解决方法是手动退出 Resource Saving 模式,Docker Compose 将恢复正常响应。 - 已知问题:启用 增强容器隔离 (ECI) 时,Docker Desktop 可能不会进入 Resource Saver 模式。此问题将在未来的 Docker Desktop 版本中修复。
- 已知问题:当 Docker Desktop 配置为使用 Use containerd for pulling and storing images 时,新的 ECI Docker socket mount permissions for derived images 功能尚不工作。此问题将在下一个 Docker Desktop 版本中修复。
4.33.2
2025-01-09下载 Docker Desktop
错误修复与改进
适用于 Mac
- 防止了一个错误,该错误导致 Docker Desktop 未能将
com.docker.vmnetd
或com.docker.socket
更新到更新版本。
已知问题
适用于 Mac
- 如果您看到关于
com.docker.vmnetd
或com.docker.socket
上的恶意软件的安全弹出窗口,请按照docker/for-mac#7527 中记录的步骤操作。
4.33.1
2024-07-31下载 Docker Desktop
Windows (校验和) | Windows ARM Beta 版 (校验和) |
错误修复与改进
适用于 Windows
- 增加了对 WSL2 2.3.11 及以上版本的支持,其中包括可加载内核模块。解决了 docker/for-win#14222
4.33.0
2024-07-25下载 Docker Desktop
Windows (校验和) | Windows ARM Beta 版 (校验和) | 适用于 Apple 芯片 Mac (校验和) | 适用于 Intel 芯片 Mac (校验和) | Debian - RPM - Arch (校验和)
新增
- Docker Debug 现已正式可用 (GA)。
- BuildKit 现在会评估 Dockerfile 规则,以提示潜在的问题。
- 现在可以直接从仪表盘底部的资源使用数据显示中访问资源分配设置。
- 故障排除体验得到全新改进。
更新组件
- Docker Compose v2.29.1
- Docker Engine v27.1.1
- containerd v1.7.19
- NVIDIA Container Toolkit v1.16.0
- Docker Scout CLI v1.11.0
- Kubernetes v1.30.2
- Linux kernel
v6.10
错误修复与改进
适用于所有平台
- 修复了一个问题,该问题导致使用
--net=host
启动并监听 IPv6 地址的容器可以从主机访问。 - 改进了在设置选项卡中启用 containerd 镜像存储的用户体验。
- 修复了一个问题,该问题导致在使用
grpcfuse
文件共享选项时在高负载下出现死锁。 - 修复了一个错误,该错误导致 Mac 特定的管理设置影响了其他平台。
- 现在可以在 Docker Engine 的
default-address-pools
中指定 IPv6 地址块。 - 修复了 Docker Engine 的
bip
、fixed-cidr
和fixed-cidr-v6
验证问题。修复了 docker/for-mac#7104。 - Docker Engine 的
default-network-opts
参数现在已正确验证。 - VirtioFS 性能改进包括增加目录缓存超时、处理来自主机的变更通知、删除针对 security.capability 属性的额外 FUSE 操作、优化主机事件检测以及提供用于在容器终止后清理缓存的 API。
- Docker Desktop 现在会在主机网络容器中存在端口冲突时发出通知。
- Compose Bridge 命令行选项现在可通过实验性功能获得。启用后,运行
compose-bridge
将您的 Compose 配置转换为 Kubernetes 资源。 - 构建视图
- 在构建详情的源选项卡中添加了 构建检查。
- 在构建详情的信息选项卡中,在源详情部分下添加了构建标签。
- 新导入的构建现在会高亮显示。
- 改进了错误消息处理的性能。
- 修复了与构建器的连接问题,该问题导致构建记录无法显示。
- 修复了通过 CLI 打开构建时的导航问题。
适用于 Mac
- 配置完整性检查功能现在提供了更多关于您的 Docker Desktop 配置更改的背景信息。有关更多信息,请参阅常见问题。
- 配置完整性检查功能在修复 Docker Desktop 失败时会显示错误。
- 修复了一个错误,该错误导致 IPv6 TCP 被设置为
host.docker.internal
。修复了 docker/for-mac#7332。 - 修复了一个问题,该问题导致
docker-compose
软链接指向空位置。修复了 docker/for-mac#7345。
对于 Linux
- 修复了一个问题,该问题导致某些
wincred
值在卸载后仍然保留。由 Javier Yong @Javiery3889 报告。 - 修复了一个问题,该问题导致通知其他应用程序更改了您的 Desktop 配置被错误地触发。
安全
适用于所有平台
- 包括修复 Docker Engine 中的 AuthZ Plugin Bypass Regression。有关更多信息,请参阅 CVE-2024-41110。
适用于 Windows
- 修复了一个问题,该问题导致某些
wincred
值在卸载后仍然保留。由 Javier Yong @Javiery3889 报告。
已知问题
适用于 Windows
- Docker Desktop 在 WSL 预发布版本
v2.3.11.0
和v2.3.12.0
(包含在 Windows 11 Insider 中)下无法启动。要解决此问题,请确保安装了 WSLv2.2.4.0
。有关更多信息,请参阅 microsoft/WSL#11794。这会影响 Docker Desktop 4.33.0 及更早版本。
4.32.1
2025-01-09下载 Docker Desktop
错误修复与改进
适用于 Mac
- 防止了一个错误,该错误导致 Docker Desktop 未能将
com.docker.vmnetd
或com.docker.socket
更新到更新版本。
已知问题
适用于 Mac
- 如果您看到关于
com.docker.vmnetd
或com.docker.socket
上的恶意软件的安全弹出窗口,请按照docker/for-mac#7527 中记录的步骤操作。
4.32.0
2024-07-04下载 Docker Desktop
Windows (校验和) | Windows ARM Beta (校验和) | 搭载 Apple 芯片的 Mac (校验和) | 搭载 Intel 芯片的 Mac (校验和) | Debian - RPM - Arch (校验和)
新增
- Docker Engine 和 CLI 已更新至版本 27.0。
- Docker Desktop 现在支持在 macOS 和使用 WSL2 后端的 Windows 上将数据移动到不同的驱动器。请参阅 docker/for-win#13384。
- 您现在可以在卷选项卡中为卷导出安排备份(测试版)。
- 直接从 Docker Desktop 访问终端 shell(测试版)。
更新组件
- Docker Buildx v0.15.1
- Docker Compose v2.28.1
- Docker Scout CLI v1.10.0
- Docker Engine v27.0.3
- Docker Init v1.3.0
错误修复与改进
适用于所有平台
- 改进了 Compose 文件查看器中
watch
的说明。 - 在 Docker Init 中添加了对没有依赖关系的 Golang 项目的支持。解决了 docker/roadmap#611
- 设置管理现在允许管理员将默认值设置为
ProxyEnableKerberosNTLM
。 - 移除了针对旧版本 Visual Studio Code 的临时兼容性修复。
- 构建视图
- 将导入的构建记录图标更改为“文件”图标。
- 改进了尝试连接已连接的 Docker Build Cloud 构建器时的错误消息。
- 修复了构建记录会意外消失的问题。
- 修复了阻止用户重新打开导入的构建的问题。
- 修复了在构建状态从运行中变为已完成时未显示构建详情的问题。
- 修复了构建详情中格式错误的构建源链接。
- 修复了命名上下文缺少构建统计信息的问题。
- 修复了构建结果中不再显示镜像索引/清单的问题。
- 修复了从 UI 导出的构建跟踪导入到 Jaeger 时显示为单一扁平列表的问题。
- 修复了构建详情中截断的 digest/sha。
- 修复了活动构建的最终状态动画。
适用于 Windows
- 修复了 WSL 2 引擎上的一个问题,该问题导致如果用户手动移动了
docker-desktop-data
发行版,Docker Desktop 将无法检测到其存在。 - Windows on ARM 安装程序和特权服务现在已针对 ARM64 构建。
适用于 Mac
- 重新添加了
CONFIG_DM_CRYPT
内核模块。 - 重新添加了
CONFIG_PSI
内核模块。 - 重新添加了
CONFIG_GTP
内核模块。 - 重新添加了
CONFIG_NFT_BRIDGE_META
内核模块。 - 修复了一个回归问题,该问题导致当
/var/run/docker.socket
指向意外路径时,会出现其他应用程序更改了您的 Desktop 配置的警告消息。 - 将“配置检查”菜单项和横幅更改为通知。
- 改进了绑定挂载上的读写操作性能。
- 修复了某些
AMD64
Java 镜像的致命错误。修复了 docker/for-mac/7286 和 docker/for-mac/7006。 - 修复了一个问题,该问题导致 Docker Desktop 在从
/Applications
安装时删除了Docker.app
。 - 修复了导致绑定挂载(bind mounts)失败的问题。修复了 docker/for-mac#7274。
已知问题
适用于所有平台
- 对于选择启用**访问实验性功能**的所有用户,**使用 Compose 管理同步文件共享**设置将自动启用。这会将所有绑定挂载转换为同步文件共享。要禁用此行为,请取消选择**访问实验性功能**。然后,通过转到**资源**中的**文件共享**选项卡,导航到**同步文件共享**部分,选择要删除的文件共享,然后选择**删除**,手动删除任何文件共享。
适用于 Mac
- 在更新后运行
docker-compose
时,可能会返回command not found
。作为一种临时解决方案,可以创建以下符号链接:sudo ln -sf /Applications/Docker.app/Contents/Resources/cli-plugins/docker-compose /usr/local/bin/docker-compose
4.31.1
2024-06-10下载 Docker Desktop
Windows (校验和) | Windows ARM Beta (校验和) |
错误修复与改进
适用于 Windows
- 修复了一个 bug,该 bug 可能导致更新前创建的容器、镜像和卷对用户不可见。修复了 docker/for-win#14118。
4.31.0
2024-06-06下载 Docker Desktop
Windows (校验和) | Windows ARM Beta (校验和) | 配备 Apple 芯片的 Mac (校验和) | 配备 Intel 芯片的 Mac (校验和) | Debian - RPM - Arch (校验和)
新增
- 气隙容器 (Air-Gapped Containers) 现已正式发布。
- Docker Compose 文件查看器现在以语法高亮和指向相关文档的上下文链接形式显示 Compose YAML(Beta,逐步推广)。
- 新的侧边栏用户体验。
更新组件
- Docker Engine 和 CLI v26.1.4.
- Docker Scout CLI v1.9.1
- Docker Compose v2.27.1
- Docker Buildx v0.14.1
- Containerd v1.6.33
- Credential Helpers v0.8.2
- NVIDIA Container Toolkit v1.15.0
- Go 1.22.4
- Linux kernel
v6.6.31
错误修复与改进
适用于所有平台
- 下载更新后,较新的版本现在将显示在**软件更新**设置选项卡中。
- 在
settings.json
中添加了proxyEnableKerberosNTLM
配置,以便在 Kerberos/NTLM 环境未正确设置时回退到基本代理认证。 - 修复了一个 bug,该 bug 导致在启用增强容器隔离 (Enhanced Container Isolation) 时 Docker Debug 无法正常工作。
- 修复了一个 bug,该 bug 导致 UDP 响应未能正确截断。
- 修复了一个 bug,该 bug 导致在使用设置管理时隐藏了**更新**屏幕。
- 修复了一个 bug,该 bug 导致在启动时未能正确应用
admin-settings.json
中定义的代理设置。 - 修复了一个 bug,该 bug 导致**使用 Compose 管理同步文件共享**开关未能正确反映功能的实际值。
- 修复了一个 bug,该 bug 导致在使用 gRPC FUSE 文件共享(在 macOS 和带有 Hyper-V 的 Windows 上)时,主机上修改的绑定挂载文件在容器重启后未更新。修复了 docker/for-mac#7274、docker/for-win#14060。
- 构建视图
适用于 Windows
- 更改了
--allowed-org
安装程序标志,改为写入策略注册表项,而不是写入registry.json
。
适用于 Mac
- 将**自动检查配置**设置从**高级**设置移动到**常规**设置。
- 通过实现更长的属性超时和失效,改进了 VirtioFS 缓存。
对于 Linux
- 在虚拟机中添加了 Linux 头文件,以方便自定义内核模块的编译。
安全
适用于所有平台
- 修复了增强容器隔离 (ECI) 模式下的一个安全 bug,在该模式下,用户可以创建源自 Docker Desktop 虚拟机内部受限目录的 Docker 卷,并将其挂载到容器中,从而使容器能够访问这些受限的虚拟机目录。
- 默认情况下,Docker Desktop 中只能安装市场中列出的扩展。这可以在 Docker Desktop 的设置中更改。扩展开发者将需要更改此选项才能测试其扩展。
适用于 Windows
- 修复了 CVE-2024-5652,在此漏洞中,
docker-users
组中的用户可以通过 Windows 容器模式下的exec-path
Docker daemon 配置选项导致 Windows 拒绝服务。此漏洞由 Hashim Jawad (@ihack4falafel) 与 Trend Micro Zero Day Initiative 合作发现。
弃用
适用于所有平台
- 之前以
com.docker.cli
形式提供的 CLI 二进制文件现在只以docker
形式提供。此版本保留了com.docker.cli
形式的 CLI 二进制文件,但在下一版本中将被移除。
适用于 Windows
- 从 WSL2 引擎中移除了对旧版软件包的支持。
已知问题
适用于 Windows
- 在升级到 Docker Desktop 4.31.0 时,对于在仅使用 WSL 的 Windows 主机上使用 Docker Desktop 4.8.0 或更低版本创建容器和镜像的用户,现有的容器、镜像和卷将变为不可见。数据并未丢失,只是对 Docker Desktop 4.31.0 不可见。如果受影响,请降级到 4.30 或更早版本。更多信息请参阅:docker/for-win#14118。
对于 Linux
- Ubuntu 24.04 LTS 尚不支持,Docker Desktop 将无法启动。由于最新 Ubuntu 版本对非特权命名空间施加限制的方式发生了变化,需要至少运行一次
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
命令。请参阅 Ubuntu 博客。
4.30.0
2024-05-06下载 Docker Desktop
Windows (校验和) | Windows ARM Beta 版 (校验和) | 搭载 Apple 芯片的 Mac (校验和) | 搭载 Intel 芯片的 Mac (校验和) | Debian - RPM - Arch (校验和)
新增
适用于所有平台
适用于 Windows
- 在 Windows 上添加了对 Kerberos 和 NTLM 代理认证 的支持。需要企业订阅。
更新组件
- Docker Compose v2.27.0
- Docker Engine v26.1.1
- Wasm 运行时
- 将
runwasi
shims 更新到v0.4.0
- 将
deislabs
shims 更新到v0.11.1
- 将
spin
shim 更新到v0.13.1
- 将
- Docker Scout CLI v1.8.0
- Docker Debug v0.0.29
- Linux kernel v6.6.26
- Go 1.22.2
错误修复与改进
适用于所有平台
- 改进了在无根容器中运行
docker build
命令时的增强容器隔离 (ECI) 安全性。 - 修复了当 Docker Desktop 进入/退出资源节省模式时,
docker events
以Unexpected EOF
错误退出的 bug。 - 修复了当 Docker Desktop 处于资源节省模式时,
docker stats --no-stream
命令挂起的 bug。 - 修复了自诊断 CLI 中的一个 bug,该 bug 错误地显示虚拟机尚未启动。修复了 docker/for-mac#7241。
- 修复了高吞吐量端口转发传输可能会停滞的 bug。修复了 docker/for-mac#7207。
- 修复了移除 CLI 应用时,CLI 插件软链接未被移除的问题。
- 修复了共享端口抽屉中的一个 bug,使其能够正确显示本地引擎的消息。
- 开发环境 (Dev Environments) 功能正在逐步淘汰,并已移至正在开发的功能中的测试版选项卡。
- 构建视图
- 改进了对构建记录的批量删除功能。
- 添加了在构建依赖项中打开容器镜像和 Git 来源相关网页的操作。
- 添加了以 Jaeger 或 OTLP 格式下载来源证明和 OpenTelemetry 追踪的操作。
- 修复了远程构建调用的源详情。
- 修复了在使用云构建器时,多平台构建会显示为单独记录的 bug。
适用于 Mac
- 修复了在 2019 年后的 Mac 上使用 Virtualization Framework 时触发段错误的 bug。参见 docker/for-mac#6824。
- 启用了
CONFIG_SECURITY=y
内核配置,例如对于 Tetragon。修复了 docker/for-mac#7250。 - 重新添加了对
SQUASHFS
压缩的支持。修复了 docker/for-mac#7260。 - 修复了导致新版本的 Docker Desktop 被标记为损坏的 bug。
- 在 Apple Silicon 上使用 qemu 时增加了网络 MTU。
- 修复了如果 Rosetta 未安装则阻止 Docker Desktop 启动的 bug。修复了 docker/for-mac#7243。
适用于 Windows
- 为 WSL2 添加了一种简化的配置模式,避免了对辅助
docker-desktop-data
WSL 发行版的需求(实验性)。 - 修复了在 WSL 环境中 Docker CLI 的 bash 补全问题。
- 修复了 Docker Desktop 4.28 中的一个回归问题,该问题导致在 WSL 上使用 Docker-in-Docker(通过挂载
/var/run/docker.sock
)时,绑定挂载到容器中的主机文件未在容器内部正确显示。 - 修复了会导致以下错误
merging settings: integratedWslDistros type mismatch
的 bug。
已知问题
适用于所有平台
- 如果您在 Docker Desktop 中启用了需要保持登录状态的功能,例如 主机网络,您必须保持登录才能使用 Docker Desktop。要继续使用 Docker Desktop 或修改这些设置,请确保您已登录。
- 要启用或禁用使用 Compose 管理同步文件共享,必须同时勾选或取消勾选访问实验性功能和使用 Compose 管理同步文件共享。
- 当使用自动移除选项 (
--rm
) 运行容器时,如果容器启动失败(例如:docker run --rm alpine invalidcommand
),Docker CLI 有时会挂起。在这种情况下,可能需要手动终止 CLI 进程。
适用于 Windows
- 当以非管理员用户启动 Docker Desktop 时,如果用户不是 docker-users 组的成员,可能会触发以下连接错误
ENOENT \\.\pipe\errorReporter
。这可以通过将用户添加到 docker-users 组来解决。在启动 Docker Desktop 之前,请确保先注销然后重新登录,并使用wsl --unregister docker-desktop
命令注销(如果已创建)docker-desktop
发行版。
对于 Linux
- Ubuntu 24.04 LTS 尚不支持,Docker Desktop 将无法启动。由于最新 Ubuntu 版本对非特权命名空间施加限制的方式发生了变化,需要至少运行一次
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
命令。请参阅 Ubuntu 博客 了解更多详情。
4.29.0
2024-04-08下载 Docker Desktop
Windows (校验和) | Windows ARM Beta 版 (校验和) | 搭载 Apple 芯片的 Mac (校验和) | 搭载 Intel 芯片的 Mac (校验和) | Debian - RPM - Arch (校验和)
新增
- 您现在可以通过 设置管理 强制使用 Rosetta。
- 结合 ECI 的 Docker socket 挂载限制 现已正式可用。
- Docker Engine 和 CLI 已更新至 Moby 26.0。这包括 Buildkit 0.13、子卷挂载、网络更新,以及对 containerd 多平台镜像存储用户体验的改进。
- 新增和改进的 Docker Desktop 错误屏幕:快速故障排除、轻松诊断上传和可操作的补救措施。
- Compose 支持 Synchronized file shares (实验性)。
- 新的 交互式 Compose CLI (实验性)。
- Beta 版本发布:
更新组件
- Docker Compose v2.26.1
- Docker Scout CLI v1.6.3
- Docker Engine v26.0.0
- Buildx v0.13.1
- Kubernetes v1.29.2
- cri-dockerd v0.3.11
- Docker Debug v0.0.27
错误修复与改进
适用于所有平台
- 修复了下拉菜单在应用程序窗口外部打开的问题。
- Docker Init
- 更新了 CLI 输出格式以提高可读性。
- 修复了 `.dockerignore` 的一个问题,以避免忽略以 "compose" 开头的应用程序文件。
- 根据 Spring Boot 版本改进了 Java 应用程序的启动方式。修复了 docker/for-mac#7171。
- 移除了用于 Rust 交叉编译的非官方 Docker 镜像。
- 每个 Synchronized file share 的最大文件数现在超过 200 万。
- 修复了在选择“导出到本地镜像”字段时导致警告:“提供给自动完成的值无效。”的问题。
- 现在可以从 Docker Desktop Dashboard 访问 Run Cloud。
- 选择不发送分析数据现在也将禁用收集用于错误报告的数据。
- 现在可以在 Containers 视图中向 Cloud Engine 共享和取消共享端口。
- 现在可以从 Dashboard 右侧的页脚访问共享云。
- 添加了对 macOS、Windows 和 Docker Desktop for Linux 上主机网络的 Beta 支持 docker#238。
- 为新的未读通知添加了时间戳。
- 修复了虚拟化支持错误消息中的一个拼写错误。修复了 docker/desktop-linux#197。
- Docker Desktop 现在允许 PAC 文件中的规则阻止连接到 `host.docker.internal`。
- 修复了 Images 和 Containers 列表中二级菜单的位置。
- 修复了使用 QEMU 启动 Docker Desktop 时出现的竞态条件。
- 改进了当镜像拉取被 Registry Access Management 策略阻止时的错误消息。
- 在内核配置中重新添加 `CONFIG_BONDING=y`。
适用于 Mac
- 修复了 Kubernetes 未能成功启动的问题。修复了 docker/for-mac#7136 和 docker/for-mac#7031。
- 修复了浏览器无法将认证信息发送回 Docker Desktop 的错误。修复了 docker/for-mac/issues#7160。
适用于 Windows
- 修复了在 WSL 2 和 Hyper-V 之间切换后 `docker run -v` 会失败的错误。
- 修复了 Docker Desktop 关闭时未能停止其 WSL 分发 (`docker-desktop` 和 `docker-desktop-data`) 的错误。修复了 docker/for-win/issues/13443 和 docker/for-win/issues/13938。
对于 Linux
- 修复了导致 UI 中可用实验性功能列表与后端数据不同步的问题。
安全
- 禁用了 Electron `runAsNode` fuse 以增强安全防护。更多信息请参见 Electron 文档。。
- 修复了 CVE-2024-6222,该漏洞允许攻击者通过容器逃逸获得 Docker Desktop VM 的访问权限后,通过传递扩展和仪表盘相关的 IPC 消息进一步逃逸到主机。由 Billy Jheng Bing-Jhong、Đỗ Minh Tuấn、Muhammad Alifa Ramdhan 与 Trend Micro Zero Day Initiative 合作报告。
已知问题
适用于 Mac
- 如果未安装 Rosetta,Apple Silicon 上的 Docker Desktop 无法启动。这将在未来的版本中修复。详情请参见 docker/for-mac#7243。
4.28.0
2024-02-26新增
- Settings Management 现在允许管理员设置默认文件共享实现,并指定开发者可以添加文件共享的路径。
- 启用了 SOCKS 代理支持 Beta 功能后,添加了对 `socks5://` HTTP 和 HTTPS 代理 URL 的支持。
- 用户现在可以在 Volumes 选项卡中过滤卷,查看哪些卷正在使用。
更新组件
- Compose v2.24.6
- Docker Engine v25.0.3
- Docker Scout CLI v1.5.0
- Qemu 8.1.5
- Wasm 运行时
- 将 runwasi shims 更新至 `v0.4.0`,包括:
- wasmtime `v17.0`,初步支持 WASI preview 2
- wasmedge `v0.13.5`
- wasmer `v4.1.2`
- 将 deislabs shims 更新至 `v0.11.1`,包括:
- lunatic `v0.13.2`
- slight `v0.5.1`
- spin `v2.2.0`
- wws `v1.7.0`
- 将 runwasi shims 更新至 `v0.4.0`,包括:
错误修复与改进
适用于所有平台
- 修复了 `Qemu` 下的 `postgis` 问题。修复了 docker/for-mac#7172。
- 为
kpartx
重新添加了CONFIG_BLK_DEV_DM
内核配置。修复了 docker/for-mac#7197。 - 允许通过代理自动配置
pac file
设置SOCKS
代理。 - 重新添加了
CONFIG_AUDIT
内核配置。 - 修复了在
virtiofs
上 Rust 构建的错误。请参阅 rust-lang/docker-rust#161。 - 修复了拉取 Kubernetes 镜像时导致
missing registry authentication
错误的问题。 - 修复了导致 Docker Compose 命令挂起的问题。
- 修复了
docker build
中的一个错误,该错误导致 Docker Desktop 崩溃。修复了 docker/for-win#13885, docker/for-win#13896, docker/for-win#13899, docker/for-mac#7164, docker/for-mac#7169。 - Docker Init
- 根据 Spring Boot 版本改进了 Java 应用程序的启动方式。修复了 docker/for-mac#7171。
- 移除了用于 Rust 交叉编译的非官方 Docker 镜像
- 构建视图
- 活动和已完成的构建可以在专门的选项卡中找到。
- 构建详情现在显示构建时长和缓存步骤。
- OpenTelemetry 跟踪现在显示在构建结果中。
- 修复了上下文构建器事件并非总是触发的问题。
- 重新设计了空状态视图,使仪表板更清晰。
适用于 Mac
- 修复了 Rosetta 上的
httpd
问题。docker/for-mac#7182 - 修复了导致
virtualization.framework
崩溃的错误。修复了 docker/for-mac#7024。
适用于 Windows
- 修复了 Windows 上 DNS 超时的问题。
- 在 WSL 用户发行版上增加了对增强容器隔离 Docker socket 挂载权限的支持。
- 修复了从 CLI 重定向输出时导致
failed to get console mode
错误的问题。 - 修复了在容器内部挂载 engine socket 时的权限问题。修复了 docker/for-win#13898。
已知问题
适用于 Windows
- 在深色模式下,**资源** > **高级** 设置中的 **磁盘镜像位置** 不可见。解决方法是切换到浅色模式。
4.27.2
2024-02-08更新组件
- Compose v2.24.5
- Docker Scout CLI v1.4.1
- Docker Debug v0.0.24
错误修复与改进
适用于所有平台
- 修复了从终端上传诊断信息时,诊断 ID 显示不正确的问题。
- 修复了在使用 Settings Management 时,启动时默认设置值会被重置的问题。
- 修复了即使禁用了 启动 Docker Desktop 时打开 Docker Dashboard 选项,仪表板仍会在启动时显示的问题。修复了 docker/for-win#13887。
- 修复了构建后端服务中的一个错误,该错误导致 Docker Desktop 崩溃。修复了 docker/for-win#13885, docker/for-win#13896, docker/for-win#13899, docker/for-mac#7164, docker/for-mac#7169。
- 修复了在容器内部挂载 Docker Engine socket 时的权限问题。修复了 docker/for-win#13898。
- Docker Scout
- 更新了依赖项以解决 Leaky Vessels 系列 CVE 问题 ( CVE-2024-21626, CVE-2024-24557)
- 增加了初始 VEX 文档,用于记录误报 CVE-2020-8911 和 CVE-2020-8912
- 增加了对 cosign SBOM 证明的支持
- 增加了对 VEX in-toto 证明的支持
- Docker Debug
- 修复了通过资源访问管理拉取镜像时出现的错误
- 修复了连接问题
适用于 Mac
- 重新添加了
Istio
所需的内核模块。修复了 docker/for-mac#7148。 - Node 现在使用 Rosetta 下所有可用的核心。
- 修复了
php-fpm
的问题。修复了 docker/for-mac#7037。
4.27.1
2024-02-01更新组件
- Docker Engine v25.0.2 包含了针对 CVE-2024-24557、CVE-2024-23650、CVE-2024-23651、CVE-2024-23652 和 CVE-2024-23653 的修复
- Containerd v1.6.28
- Runc v1.1.12 包含了针对 CVE-2024-21626 的修复
错误修复与改进
适用于 Mac
- 修复了在应用更新时导致 Docker Desktop 卡住的错误。
4.27.0
2024-01-25新增
- Docker init 现在支持 Java,并对所有用户普遍可用。
- 同步文件共享 在 Docker Desktop 中提供了快速灵活的主机到虚拟机文件共享。利用 Docker 收购 Mutagen 背后的技术,此功能提供了虚拟 bind mount 的替代方案,它使用同步文件系统缓存,提高了处理大型代码库的开发人员的性能。
- 组织管理员现在可以在启用 ECI 时 配置 Docker socket 挂载权限。
- Containerd 镜像存储支持现在对所有用户普遍可用。
- 使用新的
docker debug
命令(Beta 版)可以获取任何容器或镜像的调试 shell。 - 拥有 Docker Business 订阅的组织管理员,现在可以在启用 私人扩展市场时配置自定义扩展列表(Beta 版)
更新组件
- Amazon ECR Credential Helper v0.7.1
- Buildx v0.12.1
- Containerd v1.6.27
- Compose v2.24.3
- Docker Credential Helpers v0.8.1
- Runc v1.1.11
- Docker Engine v25.0.0
- Kubernetes v1.29.1
- Docker Scout v1.3.0
错误修复与改进
适用于所有平台
docker scan
命令已被移除。要继续了解镜像的漏洞以及许多其他功能,请使用docker scout
命令。- 修复了选中 始终下载更新 复选框时自动更新无法下载的错误。
- 修复了仪表盘工具提示中的拼写错误。修复了 docker/for-mac#7132
- 改进了信号处理行为(例如,在终端中运行
docker
命令时按下 Ctrl-C)。 - 重新添加了
minikube start --cni=cilium
所需的内核模块。 - 修复了一个错误,该错误导致在登录后启用管理员控制时再次出现安装屏幕。
- 修复了一个错误,该错误导致共享文件夹不存在时 Docker 无法启动。
- 修复了仪表盘的容器部分中显示的可用 CPU 数量。
- 重新添加了
btrfs
、xfs
、vfat
、exfat
、ntfs3
、f2fs
、squashfs
、udf
、9p
和autofs
的内核模块。 - 容器使用率图表已移至垂直的资源使用率侧面板,以便在容器列表中留出更多空间。通过显示图表按钮访问使用率图表的方式保持不变。
- 修复了一个错误,该错误导致在登录时选择关闭应用程序会留下一个挂起的后端进程。
- 修复了一个错误,该错误导致通过设置管理禁用分析功能时 Docker Desktop 无响应。
- Docker init
- 添加了对 Java 服务器容器化的支持
- Windows 上的各种修复
- 构建器设置
- 您现在可以随时刷新构建器的存储数据。
- 您现在可以删除构建器的构建历史记录。
- 构建视图
- 现在,当无法删除构建记录时会显示错误消息。
- 修复了一个问题,该问题导致无法在 macOS 的 rootless 模式下创建云构建器。
- 现在,在信息选项卡的构建时间部分中,内联缓存和 Git 源得到正确处理。
- 现在,在历史记录选项卡的过去构建中显示使用的构建器和调用构建的作者。
- 进行了多项改进,以更好地链接历史记录选项卡上的过去构建。
- 进行了多项改进,以使构建名称更准确。
- 修复了在无法访问构建器时,活动构建列表中的构建停滞问题。
- 修复了在某些情况下阻止删除构建记录的问题。
- 修复了构建名称可能为空的问题。
- 修复了启用资源节约模式时构建视图的一般问题。
适用于 Mac
- 启用了
Huge Pages
并修复了使用 Rosetta 时的 PHP 段错误问题。修复了 docker/for-mac#7117。 - 修复了在 Rosetta 下的
xvfb
问题。修复了 docker/for-mac#7122 - 修复了在 Rosetta 下的
ERR_WORKER_INVALID_EXEC_ARGV
错误。docker/for-mac#6998。 - 修复了一个错误,该错误导致如果
admin-settings.json
语法无效,Docker Desktop 可能会死锁。
适用于 Windows
- 修复了一个错误,该错误导致某些语言环境无法将 UTF-16 字符串编码为 UTF-8。修复了 docker/for-win#13868。
- 修复了一个错误,该错误导致在使用 WSL 集成时,凭据存储配置会在应用重启后重置。修复了 docker/for-win#13529。
- 修复了一个问题,该问题阻止了正确的 WSL 引擎错误传播给用户。
- 修复了一个问题,该问题导致 Docker Desktop 在从 Windows 容器模式退出时挂起。
安全
适用于 Windows
- 缓解了 Windows 上 Docker Desktop 安装程序中的多个 DLL 侧加载漏洞,此漏洞由 Suman Kumar Chakraborty (@Hijack-Everything) 报告。
已知问题
适用于所有平台
- 使用设置管理时,Docker Desktop 启动时,
admin-settings.json
中未设置的设置将重置为默认值。
适用于 Mac
- 从软件更新更新到 4.27.0 有时会挂起。作为一种解决方法,请从此页面下载 4.27.0 安装程序进行安装。
4.26.1
2023-12-14错误修复与改进
适用于所有平台
- 更新了 Docker Desktop 内部的反馈链接,以确保它们继续正常工作
适用于 Windows
- 将 CLI 二进制文件切换到与较旧版本的 glibc 兼容的版本,例如 Ubuntu 20.04 中使用的版本。修复了 docker/for-win#13824
4.26.0
2023-12-04新增
- 管理员现在可以使用设置管理控制对开发中功能选项卡中 Beta 和实验性功能的访问。
- 在底部引入了四种新的版本更新状态。
docker init
(Beta) 现在支持使用 Apache + Composer 的 PHP。- 构建视图现已正式发布 (GA)。您现在可以检查构建、排除故障并优化构建速度。
更新组件
- Compose v2.23.3
- Docker Scout CLI v1.2.0.
- Buildx v0.12.0
- Wasm 运行时
- wasmtime、wasmedge 和 wasmer
v0.3.1
。 - lunatic、slight、spin 和 wws
v0.10.0
。 - Wasmtime 现在基于 wasmtime
v14.0
并支持 wasi preview-2 组件 - Wasmedge 现在基于 WasmEdge
v0.13.5
- Spin 现在基于 Spin
v2.0.1
- wws 现在基于 wws
v1.7.0
- wasmtime、wasmedge 和 wasmer
- Docker Engine v24.0.7
- Containerd v1.6.25
- runc v1.1.10
错误修复与改进
适用于所有平台
- 您现在可以使用
docker feedback
从命令行提供反馈。 - 改进了通用设置选项卡中启动选项的文本和位置。
- 重新设计了仪表盘的标题栏,添加了指向其他 Docker 资源的链接,改进了帐户信息的显示。
- 修复了一个错误,该错误导致同时启用 containerd 镜像存储和 Wasm 时,Wasm 未启用。
- containerd 集成
- 修复了在未提供
ServerAddress
的情况下,docker push/pull
认证未发送到非 DockerHub 注册中心的问题。 - 修复了
docker history
报告错误的 ID 和标签的问题。 - 修复了
docker tag
未保留内部元数据的问题。 - 修复了守护进程配置了
--userns-remap
时docker commit
的问题。 - 修复了
docker image list
以显示真实的镜像创建日期的问题。 - 为
docker pull
添加了对-a
标志的支持(拉取所有远程仓库标签)。 - 为
docker run
添加了对--group-add
标志的支持(追加额外组)。 - 调整了
docker push/pull
报告的一些错误。
- 修复了在未提供
- Docker Init
- 改进了 Dockerfiles 中针对 Golang 和 Rust 的交叉编译。
- 改进了 Dockerfile 中针对 ASP.NET Core 的缓存。
- Docker Desktop 现在在仪表盘底部提供有关待定更新的更详细信息。
- 修复了增强容器隔离模式下
docker run --init
失败的错误。 - 修复了一个错误,该错误导致用户开始下载新版本后,提示下载新版本的 Docker Desktop 通知仍然可见。
- 添加了一个通知,指示 Docker Desktop 正在安装新版本。
- 修复了一个错误,该错误导致当用户悬停在没有操作调用的通知上时,光标变为指针。
适用于 Mac
- 修复了 Rosetta 无法与 PHP 一起工作的问题。修复了 docker/for-mac#6773 和 docker/for-mac#7037。
- 修复了几个与 Rosetta 无法工作相关的问题。修复了 [ docker/for-mac#6973、[ docker/for-mac#7009、[ docker/for-mac#7068 和 [ docker/for-mac#7075
- 改进了 NodeJS 在 Rosetta 下的性能。
- 修复了 Rosetta 无法打开 /proc/self/exe 错误。
- 修复了一个导致设置 登录时启动 Docker Desktop 不起作用的错误。修复了 docker/for-mac#7052。
- 现在可以通过 UI 启用 UDP 的内核网络路径。修复了 docker/for-mac#7008。
- 修复了一个回归问题,即
uninstall
CLI 工具缺失。 - 解决了在使用 设置管理 禁用分析功能时 Docker Desktop 变得无响应的问题。
适用于 Windows
- 添加了对 WSL 镜像模式网络的支持 (需要 WSL
v2.0.4
或更高版本)。 - 添加了缺失的 DLL 和 VBS 文件签名。
已知问题
适用于 Windows
- 在较旧的 Linux 发行版(例如 Ubuntu 20.04)上使用 WSL 2 集成时,Docker CLI 无法工作,这些发行版使用的
glibc
版本低于2.32
。这将在未来的版本中修复。请参阅 docker/for-win#13824。
4.25.2
2023-11-21错误修复与改进
适用于所有平台
- 修复了一个错误,即在 欢迎调查 中提交响应后出现空白 UI。
适用于 Windows
- 修复了一个错误,即 WSL 2 上的 Docker Desktop 在空闲时会意外关闭 dockerd。修复了 docker/for-win#13789
4.25.1
2023-11-13错误修复与改进
适用于所有平台
- 修复了 4.25 版本中的一个回归问题,即如果交换文件损坏,Docker 将无法启动。损坏的交换文件将在下次启动时重新创建。
- 修复了禁用交换时的一个错误。修复了 docker/for-mac#7045、docker/for-mac#7044 和 docker/for-win#13779。
sysctl vm.max_map_count
现在设置为 262144。请参阅 docker/for-mac#7047
适用于 Windows
- 修复了一个问题,即 切换到 Windows 容器 不会出现在某些用户的系统托盘菜单上。请参阅 docker/for-win#13761。
- 修复了一个错误,即对于使用除
sh
之外的其他 shell 的用户,WSL 集成无法工作。请参阅 docker/for-win#13764。 - 重新添加了
DockerCli.exe
。
4.25.0
2023-10-26新增
- Rosetta 现在已面向 macOS 13 或更高版本的所有用户全面推出。它提供了在 Apple Silicon 上更快地模拟基于 Intel 的镜像的能力。要使用 Rosetta,请参阅 设置。在 macOS 14.1 及更高版本上,Rosetta 默认启用。
- Docker Desktop 现在可以检测 WSL 版本是否已过期。如果检测到 WSL 版本已过期,您可以允许 Docker Desktop 自动更新安装,也可以在 Docker Desktop 外部手动更新 WSL。
- 新的 Windows 版 Docker Desktop 安装现在需要 Windows 版本 19044 或更高。
- 管理员现在可以在 设置管理 中控制 Docker Scout 镜像分析。
更新组件
错误修复与改进
适用于所有平台
- 修复了
接受许可
弹出窗口中的间距问题。 - 修复了一个错误,即在 通知列表 和 通知详情 视图之间切换时,通知抽屉 的大小会改变。
- containerd 集成
docker push
现在支持Layer already exists
和Mounted from
进度状态。docker save
现在可以从仓库的所有标签导出镜像。- 隐藏 manifest、配置和索引(小型 JSON blob)的推送上传进度,以匹配原始的推送行为。
- 修复了
docker diff
包含额外差异的问题。 - 修复了
docker history
不显示使用经典构建器构建的镜像的中间镜像 ID 的问题。 - 修复了
docker load
无法从压缩的 tar 归档文件加载镜像的问题。 - 修复了注册表镜像无法工作的问题。
- 修复了对同一容器并发多次调用
docker diff
时无法正常工作的问题。 - 修复了将层推送到同一注册表上的不同仓库时
docker push
未能复用层的问题。
- Docker Init
- 修复了生成文件中包含的 Docker 文档过期链接
- 添加了对 ASP.NET Core 8 的支持(除了 6 和 7)
- 修复了安装 Wasm shim 时导致失败的错误。
- 修复了一个错误,即 Docker Desktop 每隔 15 分钟会退出 资源节省模式,或者,如果定时器设置超过 15 分钟,资源节省模式则永远不会启动。
- 将 启用后台 SBOM 索引 选项提升到 通用设置。
适用于 Mac
- 在 macOS 上安装或更新 Docker Desktop 的最低操作系统版本现在是 macOS Monterey(版本 12)或更高版本。
- 增强了错误消息,当更新无法完成时,如果用户与
Docker.app
的所有者不匹配。修复了 docker/for-mac#7000。 - 修复了一个错误,其中当
/var/run/docker.sock
配置错误时,重新应用配置可能不起作用。 - 如果
ECRCredentialHelper
已存在于/usr/local/bin
中,Docker Desktop 不会覆盖它。
适用于 Windows
- 修复了一个问题,其中**切换到 Windows 容器**会在 Windows 家庭版的托盘菜单中显示。修复了 docker/for-win#13715
对于 Linux
- 修复了
docker login
中的一个错误。修复了 docker/docker-credential-helpers#299
已知问题
适用于 Mac
- 升级到 MacOS 14 可能会导致 Docker Desktop 也更新到最新版本,即使自动更新选项已禁用。
- 无法从命令行卸载 Docker Desktop。作为一种解决方法,可以从仪表板卸载 Docker Desktop。
适用于 Windows
- **切换到 Windows 容器**选项可能不会显示在 Windows 的托盘菜单中。作为一种解决方法,编辑
settings.json
文件并设置为"displaySwitchWinLinContainers": true
。
适用于所有平台
- 如果交换文件大小设置为 0MB,Docker 操作(例如拉取镜像或登录)会失败并出现“连接被拒绝”或“超时”错误。作为一种解决方法,在**设置**的**资源**选项卡中将交换文件大小配置为非零值。
4.24.2
2023-10-12错误修复与改进
适用于所有平台
- 修复了 Docker Desktop 会向
notify.bugsnag.com
发送多个请求的错误。修复了 docker/for-win#13722。 - 修复了针对 PyTorch 的性能回归问题。
4.24.1
2023-10-04下载 Docker Desktop
错误修复与改进
适用于 Windows
- 修复了 Windows 版 Docker Desktop 中的一个错误,其中 Docker Desktop 仪表板无法正确显示容器日志。修复了 docker/for-win#13714。
4.24.0
2023-09-28新增
- 新的通知中心现在已向所有用户开放,以便您可以收到新版本、安装进度更新等的通知。选择 Docker Desktop 仪表板右下角的铃铛图标以访问通知中心。
- Compose Watch 现在已向所有用户开放。更多信息请参见使用 Compose Watch。
- 资源节省模式现在已向所有用户开放,并默认启用。要配置此功能,请导航到**设置**的**资源**选项卡。更多信息请参见Docker Desktop 的资源节省模式。
- 您现在可以直接从 Docker Desktop 仪表板查看和管理 Docker Engine 的状态,包括暂停、停止和恢复。
更新组件
- Compose v2.22.0
- Go 1.21.1
- Wasm 运行时
- wasmtime, wasmedge
v0.2.0
。 - lunatic, slight, spin 和 wws
v0.9.1
。 - 添加了 wasmer wasm shims。
- wasmtime, wasmedge
错误修复与改进
适用于所有平台
- Docker Init
- 修复了在 Windows 上为 ASP.NET 项目格式化 Dockerfile 文件路径的问题。
- 改进了对于包含大量文件的大目录的语言检测性能。
- 为**容器**视图使用的资源使用统计信息轮询添加了超时。修复了 docker/for-mac#6962。
- containerd 集成
- 实现了 push/pull/save 镜像事件。
- 实现了拉取旧版 schema1 镜像。
- 实现了
docker push --all-tags
。 - 实现了计算使用特定镜像的容器数量(例如在
docker system df -v
中可见)。 - 验证了拉取的镜像名称未被保留。
- 处理
userns-remap
daemon 设置。 - 修复了旧版构建器在使用多个 COPY/ADD 指令时的构建错误。
- 修复了
docker load
导致池损坏的问题,这可能会影响随后的某些镜像相关操作。 - 修复了无法通过带
sha256:
前缀的截断摘要引用镜像的问题。 - 修复了
docker images
(不带--all
)显示中间层(由旧版经典构建器创建)的问题。 - 修复了
docker diff
包含额外差异的问题。 - 更改了
docker pull
输出以匹配 containerd 集成被禁用时的输出。
- 修复了 Kubernetes 状态消息中的语法错误。参见 docker/for-mac#6971。
- Docker 容器现在默认使用所有主机 CPU 内核。
- 改进了仪表板 UI 中的进程间安全性。
适用于 Mac
- 修复了 macOS 版本低于 12.5 的 Apple Silicon Mac 上的内核崩溃问题。修复了 docker/for-mac#6975。
- 修复了 Docker Desktop 在
filesharingDirectories
中包含无效目录时启动失败的错误。修复了 docker/for-mac#6980。 - 修复了安装程序创建 root 用户拥有的目录的错误。修复了 docker/for-mac#6984。
- 修复了安装程序在缺失
/Library/LaunchDaemons
时设置 docker socket 失败的错误。修复了 docker/for-mac#6967。 - 修复了在 macOS 上将特权端口绑定到非本地主机 IP 时出现的权限被拒绝错误。修复了 docker/for-mac#6977。
- 修复了在 4.23 版本中引入的资源泄漏问题。与 docker/for-mac#6953相关。
适用于 Windows
- 修复了当服务已在运行时弹出“Docker Desktop 服务未运行”提示框的错误。参见 docker/for-win#13679。
- 修复了导致 Docker Desktop 在 Windows 主机上启动失败的错误。修复了 docker/for-win#13662。
- 修改了 Docker Desktop 资源节省功能,使其在没有容器运行时跳过减少 WSL 上的内核内存,因为这在某些情况下会导致超时。作为替代,建议用户直接通过 .wslconfig 文件在 WSL 上启用“autoMemoryReclaim”(自 WSL 1.3.10 版本起可用)。
已知问题
适用于 Mac
- 使用端口 53 创建容器会失败并出现错误“地址已被使用”。作为一种解决方法,通过在位于
~/Library/Group Containers/group.com.docker/settings.json
的settings.json
文件中添加"kernelForUDP": false
,来停用网络加速。
4.23.0
2023-09-11更新组件
- Compose v2.21.0
- Docker Engine v24.0.6
- Docker Scout CLI v0.24.1.
- Wasm 运行时
- wasmtime, wasmedge revision
d0a1a1cd
。 - slight 和 spin wasm
v0.9.0
。
- wasmtime, wasmedge revision
新增
- 新增对新 Wasm 运行时 wws 和 lunatic 的支持。
docker init
现在支持 ASP.NET- 提高了 macOS 上暴露端口的性能,例如使用
docker run -p
命令。
移除
- 由于不再接收更新,已从 Docker Desktop 中移除 Compose V1。Compose V2 已取代它并集成到所有当前 Docker Desktop 版本中。更多信息,请参阅迁移到 Compose V2。
错误修复与改进
适用于所有平台
- 通过Docker Scout,您现在可以
- 使用
docker scout cache
管理临时文件和缓存文件。 - 使用
docker scout environment
管理环境。 - 使用
docker scout config
配置默认组织。 - 使用
docker scout cves --format only-packages
列出带有漏洞的镜像软件包。 - 使用
docker scout enroll
在 Docker scout 中注册组织。 - 使用
docker scout cves --type fs
停止、分析和比较本地文件系统。
- 使用
- 修复了 Docker Desktop 处于资源节省模式时,
docker stats
会挂起的错误。 - 修复了通过 Docker Desktop 面板中的设置关闭实验性功能时,无法完全关闭资源节省模式的错误。
- 修复了容器列表操作按钮被截断的错误。
- containerd 镜像存储
- 修复了与某些镜像交互时出现
failed to read config content
错误的 Bug。 - 修复了使用旧版经典构建器(
DOCKER_BUILDKIT=0
)构建带有FROM scratch
指令的 Dockerfile 时出现的 Bug。 - 修复了使用旧版经典构建器(
DOCKER_BUILDKIT=0
)构建镜像时出现的mismatched image rootfs errors
错误的 Bug。 - 修复了
ONBUILD
和MAINTAINER
Dockerfile 指令的 Bug - 修复了健康检查(healthchecks)的 Bug。
- 修复了与某些镜像交互时出现
适用于 Mac
- macOS 12.5 或更高版本的所有用户现在默认开启 VirtioFS。您可以在设置的通用标签页中恢复此设置。
- 改进了单流 TCP 吞吐量。
- 恢复了 macOS 的健康检查,该检查会在您的系统发生可能导致运行 Docker 二进制文件出现问题的更改时通知您。
对于 Linux
- 修复了双击打开 Docker Desktop 应用程序时 GUI 被终止的错误。请参阅 docker/desktop-linux#148。
适用于 Windows
- 修复了非管理员用户在切换到 Windows 容器或禁用 WSL 并切换到 Hyper-V 引擎后会被提示输入凭据的错误。此问题会在操作系统重启或 Docker Desktop 冷启动后发生。
安全
适用于所有平台
- 修复了 CVE-2023-5165,该漏洞允许通过调试 shell 绕过增强容器隔离(Enhanced Container Isolation)。此受影响功能仅适用于 Docker Business 客户,并假定用户未被授予本地 root 或管理员权限的环境。
- 修复了 CVE-2023-5166,该漏洞允许通过精心制作的扩展图标 URL 窃取访问令牌(Access Token)。
已知问题
- 在 macOS 上,Docker Desktop 上绑定特权端口不起作用。作为临时解决方案,您可以将端口暴露在所有接口上(使用
0.0.0.0
)或使用 localhost(使用127.0.0.1
)。
4.22.1
2023-08-24错误修复与改进
适用于所有平台
- 缓解了影响 Docker Desktop 启动和资源节省模式的几个问题。docker/for-mac#6933
适用于 Windows
- 修复了 Windows 上
Clean / Purge data
故障排除选项的 Bug。docker/for-win#13630
4.22.0
2023-08-03更新组件
注意
在此版本中,捆绑的 Docker Compose 和 Buildx 二进制文件显示不同的版本字符串。这与我们测试新功能而不引起向后兼容性问题的努力有关。
例如,
docker buildx version
命令输出buildx v0.11.2-desktop.1
。
新增
- 资源使用情况(Resource Usage)已从实验性功能转为正式发布(GA)。
- 您现在可以使用
include
将大型 Compose 项目拆分为多个子项目。
错误修复与改进
适用于所有平台
- 设置管理(Settings Management)现在允许您为您的组织关闭 Docker 扩展功能。
- 修复了系统暂停时从 UI 开启 Kubernetes 失败的错误。
- 修复了系统暂停时从 UI 开启 Wasm 失败的错误。
- 当您检查容器时,现在会显示 Bind mounts。
- 启用 containerd 镜像存储时,您现在可以下载 Wasm 运行时。
- 通过Quick Search,您现在可以
- 查找本地系统上的任何容器或 Compose 应用程序。此外,您可以访问环境变量并执行启动、停止或删除容器等基本操作。
- 查找公共 Docker Hub 镜像、本地镜像或来自远程仓库的镜像。
- 发现有关特定扩展的更多信息并安装它们。
- 浏览您的卷并获取有关关联容器的见解。
- 搜索和访问 Docker 文档。
适用于 Mac
- 修复了阻止 Docker Desktop 启动的 Bug。docker/for-mac#6890
- 资源节省模式(Resource Saver)现在已在 Mac 上可用。当没有容器运行时,它会优化 Docker Desktop 对系统资源的占用。要访问此功能,请确保您在设置中已开启对实验性功能的访问。
适用于 Windows
- 修复了在 vpnkit 预期未运行时,自诊断工具显示误报失败的 Bug。修复了 docker/for-win#13479。
- 修复了搜索栏中的无效正则表达式导致错误的 Bug。修复了 docker/for-win#13592。
- 资源节省模式(Resource Saver)现在已在 Windows Hyper-V 上可用。当没有容器运行时,它会优化 Docker Desktop 对系统资源的占用。要访问此功能,请确保您在设置中已开启对实验性功能的访问。
4.21.1
2023-07-03适用于所有平台
- 修复了使用 SSH 的 Docker 上下文连接泄漏( docker/for-mac#6834 和 docker/for-win#13564)的 Bug。
适用于 Mac
- 移除了配置健康检查,以便进一步调查和解决特定设置问题。
4.21.0
2023-06-29新增
- 新增对新 Wasm 运行时 slight、spin 和 wasmtime 的支持。启用 containerd 镜像存储时,用户可以按需下载 Wasm 运行时。
- 在 Docker init 中新增了对 Rust 服务器的支持。
- 构建(Builds)视图的 Beta 版本,允许您检查构建和管理构建器。此功能可在设置的开发中功能(Features in Development)标签页中找到。
更新组件
- Buildx v0.11.0
- Compose v2.19.0
- Kubernetes v1.27.2
- cri-tools v1.27.0
- cri-dockerd v0.3.2
- coredns v1.10.1
- cni v1.2.0
- etcd v3.5.7
错误修复与改进
适用于所有平台
- Docker Desktop 现在在不使用时会自动暂停 Docker Engine,并在需要时再次唤醒。
- 对于 macOS 12.5 及更高版本上的新安装,VirtioFS 现在是默认的文件共享实现。
- 使用 OpenTelemetry 改进了产品使用情况报告(实验性)。
- 修复了 Docker socket 权限问题。解决了 docker/for-win#13447 和 docker/for-mac#6823。
- 修复了在应用暂停时退出 Docker Desktop 导致其挂起的问题。
- 修复了一个错误,该错误导致容器视图中的“日志”和“终端”选项卡内容被固定工具栏遮盖。解决了 docker/for-mac#6814。
- 修复了一个错误,该错误导致容器运行对话框中的输入标签与输入值重叠。解决了 docker/for-win#13304。
- 修复了一个错误,该错误导致用户无法选择 Docker Extension 菜单。解决了 docker/for-mac#6840 和 docker/for-mac#6855
适用于 Mac
- 添加了 macOS 的健康检查,当用户的系统发生可能导致 Docker 二进制文件运行出现问题时,会通知用户。
适用于 Windows
- 修复了 WSL 2 上的一个错误,在该错误下,如果 Desktop 暂停、被终止然后重新启动,则启动会挂起,除非先使用
wsl --shutdown
关闭 WSL。 - 修复了当 wsl.exe 不在 PATH 环境变量中时 WSL 引擎的问题。解决了 docker/for-win#13547。
- 修复了 WSL 引擎检测 Docker Desktop 分发版驱动器丢失的能力。解决了 docker/for-win#13554。
- 缓慢或无响应的 WSL 集成不再阻止 Docker Desktop 启动。解决了 docker/for-win#13549。
- 修复了一个导致 Docker Desktop 启动时崩溃的错误。解决了 docker/for-win#6890。
- 新增以下安装程序标志
--hyper-v-default-data-root
指定 Hyper-V 虚拟机磁盘的默认位置。--windows-containers-default-data-root
指定 Windows Containers 的默认数据根目录。--wsl-default-data-root
指定 WSL 分发版磁盘的默认位置。
4.20.1
2023-06-05错误修复与改进
适用于所有平台
- containerd 镜像存储:修复了一个错误,该错误导致在加载包含 attestations 的镜像时
docker load
失败。 - containerd 镜像存储:修复了构建期间的默认镜像导出器。
适用于 Windows
- 修复了一个错误,该错误导致在非西方语言环境中难以解析主机上的 WSL 版本。解决了 docker/for-win#13518 和 docker/for-win#13524。
4.20.0
2023-05-30更新组件
错误修复与改进
适用于所有平台
- Docker Scout CLI 现在在未提供参数时会查找最近构建的镜像。
- 改进了 Docker Scout CLI 的
compare
命令。 - 添加了一个关于 Docker Compose ECS/ACS 集成将于 2023 年 11 月退役的警告。可以通过设置
COMPOSE_CLOUD_EOL_SILENT=1
来抑制此警告。 - 修复了一个 HTTP 代理错误,在该错误下 HTTP 1.0 客户端可能会收到 HTTP 1.1 响应。
- 在 WSL-2 上启用了 Docker Desktop 的增强容器隔离 (ECI) 功能。此功能需要 Docker Business 订阅才能使用。
- 修复了“容器”表格上的一个错误,在该错误下,先前隐藏的列在全新安装 Docker Desktop 后会再次显示。
适用于 Mac
- 现在,当容器中的文件被删除时,可以更快地回收磁盘空间。与 docker/for-mac#371 相关。
- 修复了阻止容器访问 169.254.0.0/16 IP 地址的错误。修复了 docker/for-mac#6825。
- 修复了
com.docker.diagnose check
中的一个错误,该错误会在未预期 vpnkit 运行时也抱怨 vpnkit 缺失。与 docker/for-mac#6825 相关。
适用于 Windows
- 修复了 WSL 数据无法移动到其他磁盘的错误。修复了 docker/for-win#13269。
- 修复了 Docker Desktop 在关闭时未停止其 WSL 发行版(docker-desktop 和 docker-desktop-data)导致不必要地消耗主机内存的错误。
- 添加了一项新设置,允许 Windows Docker daemon 在运行 Windows 容器时使用 Docker Desktop 的内部代理。请参阅 Windows 代理设置。
对于 Linux
- 修复了 Docker Compose V1/V2 兼容性设置的问题。
4.19.0
2023-04-27新增
- Docker Engine 和 CLI 已更新至 Moby 23.0。
- 学习中心现在支持产品内演练。
- Docker init (Beta) 现在支持 Node.js 和 Python。
- macOS 上 VM 和主机之间的网络速度更快。
- 现在,您可以在不拉取的情况下从 Docker Desktop 检查和分析远程镜像。
- Artifactory images 视图的可用性和性能改进。
移除
- 移除了
docker scan
命令。要继续了解镜像的漏洞以及许多其他功能,请使用新的docker scout
命令。运行docker scout --help
,或 阅读文档了解更多信息。
更新组件
错误修复与改进
适用于所有平台
- 改进了用于比较两个镜像的
docker scout compare
命令,现在也将其别名为docker scout diff
。 - 在
docker-compose
操作失败时,为仪表盘错误添加了更多详细信息( docker/for-win#13378)。 - 添加了在安装期间设置 HTTP 代理配置的支持。这可以通过 CLI 在 Mac 和 Windows 上安装时使用
--proxy-http-mode
、--overrider-proxy-http
、--override-proxy-https
和--override-proxy-exclude
安装程序标志完成,或者通过在install-settings.json
文件中设置这些值来实现。 - Docker Desktop 现在在应用程序启动时停止覆盖 .docker/config.json 中的
credsStore
键。请注意,如果您使用自定义凭据助手,则 CLIdocker login
和docker logout
不会影响 UI 是否已登录 Docker。通常,最好通过 UI 登录 Docker,因为 UI 支持多因素身份验证。 - 添加了关于 即将从 Docker Desktop 中移除 Compose V1 的警告。可以使用
COMPOSE_V1_EOL_SILENT=1
来禁用此警告。 - 在 Compose 配置中,YAML 中的布尔字段应为
true
或false
。已弃用的 YAML 1.1 值(如“on”或“no”)现在会产生警告。 - 改进了镜像表格的 UI,允许行使用更多可用空间。
- 修复了端口转发中的各种错误。
- 修复了一个 HTTP 代理错误,该错误会导致没有 Server Name Indication 记录的 HTTP 请求被拒绝并报错。
适用于 Windows
- 恢复为在 Windows 上完全修补 etc/hosts(再次包含
host.docker.internal
和gateway.docker.internal
)。对于 WSL,此行为由通用选项卡中的一项新设置控制。修复了 docker/for-win#13388 和 docker/for-win#13398。 - 修复了更新 Docker Desktop 时桌面上出现无关的
courgette.log
文件的问题。修复了 docker/for-win#12468。 - 修复了“放大”快捷方式 (Ctrl+=)。修复了 docker/for-win#13392。
- 修复了第二次容器类型切换后托盘菜单未正确更新的错误。修复了 docker/for-win#13379。
适用于 Mac
- 使用 macOS Ventura 及更高版本上的虚拟化框架时,VM 网络性能得到提升。适用于 Mac 的 Docker Desktop 现在使用 gVisor 而不是 VPNKit。要继续使用 VPNKit,请将
"networkType":"vpnkit"
添加到位于~/Library/Group Containers/group.com.docker/settings.json
的settings.json
文件中。 - 修复了卸载时会显示错误窗口的错误。
- 修复了
deprecatedCgroupv1
设置被忽略的错误。修复了 docker/for-mac#6801。 - 修复了
docker pull
返回EOF
的情况。
对于 Linux
- 修复了 VM 网络在 24 小时后崩溃的错误。修复了 docker/desktop-linux#131。
安全
适用于所有平台
- 修复了一个安全问题,该问题允许用户通过删除 Docker CLI 配置文件中的
credsStore
键来绕过registry.json
强制登录,从而绕过组织配置的 Image Access Management (IAM) 限制。仅影响 Docker Business 客户。 - 修复了 CVE-2023-24532。
- 修复了 CVE-2023-25809。
- 修复了 CVE-2023-27561。
- 修复了 CVE-2023-28642。
- 修复了 CVE-2023-28840。
- 修复了 CVE-2023-28841。
- 修复了 CVE-2023-28842。
4.18.0
2023-04-03新增
- 首次发布
docker init
的 Beta 版本,根据路线图。 - 新增了新的学习中心选项卡,以帮助用户开始使用 Docker。
- 新增了一个实验性的文件监视命令到 Docker Compose 中,该命令会在您编辑和保存代码时自动更新正在运行的 Compose 服务。
更新组件
- Buildx v0.10.4
- Compose 2.17.2
- Containerd v1.6.18,其中包含针对 CVE-2023-25153 和 CVE-2023-25173 的修复。
- Docker Engine v20.10.24,其中包含针对 CVE-2023-28841、CVE-2023-28840 和 CVE-2023-28842 的修复。
错误修复与改进
适用于所有平台
- Docker Scout CLI 现在可以比较两个镜像并显示软件包和漏洞差异。此命令处于 早期访问阶段,未来可能会发生变化。
- Docker Scout CLI 现在显示基础镜像更新和补救措施建议,使用
docker scout recommendations
命令。它还可以使用docker scout quickview
命令显示镜像的简要概述。 - 您现在可以直接从 Marketplace 中搜索扩展,以及使用全局搜索。
- 修复了一个错误,该错误会导致
docker buildx
容器构建器在 24 小时后失去网络访问权限。 - 减少了用户被提示为 Docker Desktop 提供反馈的频率。
- 移除了最小虚拟机 (VM) 交换空间大小限制。
- 在 HTTP 代理排除列表中添加了对子域名匹配、CIDR 匹配、
.
和_.
的支持。 - 修复了透明 TLS 代理中的一个错误,该错误在 Server Name Indication 字段未设置时发生。
- 修复了 Docker Desktop 引擎状态消息中的一个语法错误。
适用于 Windows
- 修复了一个错误,该错误会导致
docker run --gpus=all
命令挂起。修复了 docker/for-win#13324。 - 修复了一个错误,该错误会导致注册表访问管理策略更新无法下载。
- Docker Desktop 现在支持在
C:
盘上启用了 BitLocker 时,Windows 容器仍能正常工作。 - 使用 WSL 后端的 Docker Desktop 不再需要
com.docker.service
特权服务永久运行。更多信息请参阅 Windows 权限要求。
适用于 Mac
- 修复了一个性能问题,该问题会导致对于 VirtioFS 用户,存储在主机上的属性无法被缓存。
- 首次启动 Docker Desktop for Mac 时,会向用户显示一个安装窗口,以确认或调整需要特权访问的配置。更多信息请参阅 Mac 权限要求。
- 在设置中新增了高级选项卡,用户可以在其中调整需要特权访问的设置。
对于 Linux
- 修复了一个错误,该错误会导致虚拟机 (VM) 网络在 24 小时后崩溃。docker/for-linux#131
安全
适用于所有平台
- 修复了 CVE-2023-1802,其中 Artifactory 集成存在一个安全问题,该问题会导致如果 HTTPS 检查失败,会回退到通过纯 HTTP 发送注册表凭据。只有启用了
Access experimental features
的用户会受到影响。解决了 docker/for-win#13344。
适用于 Mac
- 移除了
com.apple.security.cs.allow-dyld-environment-variables
和com.apple.security.cs.disable-library-validation
授权,这些授权允许通过DYLD_INSERT_LIBRARIES
环境变量加载任意动态库到 Docker Desktop 中。
已知问题
- 在 Mac 上从故障排除页面卸载 Docker Desktop 时,可能会触发一个意外的致命错误弹出窗口。
4.17.1
2023-03-20错误修复与改进
适用于 Windows
- Docker Desktop 现在支持在 C 盘上启用了 BitLocker 时,Windows 容器仍能正常工作。
- 修复了一个错误,该错误会导致
docker buildx
容器构建器在 24 小时后失去网络访问权限。 - 修复了一个错误,该错误会导致注册表访问管理策略更新无法下载。
- 改进了调试信息,以便更好地描述在 WSL 2 下发生的故障。
已知问题
- 在 Windows 上使用 WSL 2 后端运行带有
--gpus
参数的容器无法正常工作。这将在未来版本中修复。请参阅 docker/for-win/13324。
4.17.0
2023-02-27新增
- Docker Desktop 现在捆绑了 Docker Scout。可以拉取并查看来自 Docker Hub 和 Artifactory 仓库的镜像分析信息,获取基础镜像更新以及推荐的标签和摘要,并根据漏洞信息筛选您的镜像。要了解更多信息,请参阅 Docker Scout。
docker scan
已被docker scout
替换。请参阅 Docker Scout CLI,获取更多信息。- 您现在可以发现那些在扩展 Marketplace 中自主发布的扩展。有关自主发布的扩展的更多信息,请参阅 Marketplace 扩展。
- 容器文件浏览器作为一项实验性功能可用。可以直接从 GUI 调试容器内的文件系统。
- 您现在可以在全局搜索中搜索卷。
更新组件
错误修复与改进
适用于所有平台
- 修复了诊断信息收集可能在等待子进程退出时挂起的问题。
- 防止透明 HTTP 代理过度篡改请求。修复了 Tailscale 扩展登录问题,详见 tailscale/docker-extension#49。
- 修复了透明 TLS 代理中服务器名称指示 (SNI) 字段未设置的问题。
- 在 HTTP 代理排除列表中添加了对子域匹配、CIDR 匹配、
.
和*.
的支持。 - 确保在上传诊断信息时遵守 HTTP 代理设置。
- 修复了从凭据助手获取凭据时发生的致命错误。
- 修复了与并发日志记录相关的致命错误。
- 改进了市场中扩展操作的用户界面。
- 在扩展市场中添加了新的过滤器。您现在可以按类别和审核状态过滤扩展。
- 添加了向 Docker 报告恶意扩展的方式。
- 将开发环境 (Dev Environments) 更新至 v0.2.2,包括初始设置可靠性修复和安全修复。
- 仅针对新用户添加了一项欢迎调查。
- 故障排除页面上的确认对话框现在与其他类似的对话框风格一致。
- 修复了在 Kubernetes 集群启动之前重置它所引起的致命错误。
- 实现了 containerd 集成的
docker import
命令。 - 修复了在使用 containerd 集成时,用现有标签标记镜像的问题。
- 为 containerd 集成实现了镜像的悬空(dangling)过滤器。
- 修复了在使用 containerd 集成时,
docker ps
命令无法处理镜像已不存在的容器的问题。
适用于 Mac
- 修复了在未安装特权助手工具
com.docker.vmnetd
的系统上下载注册表访问管理策略的问题。 - 修复了当
/Library/PrivilegedHelperTools
不存在时,com.docker.vmnetd
无法安装的 bug。 - 修复了“系统”代理无法处理“自动代理”/“pac 文件”配置的 bug。
- 修复了在区分大小写的文件系统上,vmnetd 安装因文件名大小写问题(实际文件名是
Info.plist
)而无法读取Info.Plist
导致的失败。修复了 docker/for-mac#6677。 - 修复了用户在每次启动时都被提示创建 docker socket 符号链接的 bug。修复了 docker/for-mac#6634。
- 修复了导致“登录时启动 Docker Desktop”设置不生效的 bug。修复了 docker/for-mac#6723。
- 修复了 UDP 连接跟踪和
host.docker.internal
的问题。修复了 docker/for-mac#6699。 - 改进了 kubectl 符号链接逻辑,以尊重
/usr/local/bin
中现有的二进制文件。修复了 docker/for-mac#6328。 - 当您选择使用 Rosetta 但尚未安装它时,Docker Desktop 现在会自动安装 Rosetta。
适用于 Windows
- 添加了 WSL 集成工具对
musl
的静态链接,因此无需在用户分发版中安装alpine-pkg-glibc
。 - 添加了在 WSL 2 上运行 cgroupv2 的支持。通过在您的
%USERPROFILE%\.wslconfig
文件的[wsl2]
部分添加kernelCommandLine = systemd.unified_cgroup_hierarchy=1 cgroup_no_v1=all
来激活此功能。 - 修复了在 WSL 2 模式下 Docker Desktop 在“启动”阶段卡住的问题(在 4.16 版本中引入)。
- 修复了当
%LOCALAPPDATA%
上启用文件系统压缩或加密时,Docker Desktop 未能启动 WSL 2 后端的问题。 - 修复了 Docker Desktop 在启动时未能报告缺失或过时的 WSL 安装(无法运行 WSL 版本 2 分发版)的问题。
- 修复了如果目标路径包含空格,则在 Visual Studio Code 中打开失败的 bug。
- 修复了导致
~/.docker/context
损坏和错误消息“意外的 JSON 输入结束”的 bug。您也可以通过删除~/.docker/context
来解决此问题。 - 确保在 WSL 2 中使用的凭据助手已正确签名。相关问题: docker/for-win#10247。
- 修复了导致 WSL 集成代理被错误终止的问题。相关问题: docker/for-win#13202。
- 修复了启动时上下文损坏的问题。修复了 docker/for-win#13180 和 docker/for-win#12561。
对于 Linux
- 为 Linux 版 Docker Desktop 添加了 Docker Buildx 插件。
- 将 RPM 和 Arch Linux 分发版的压缩算法更改为
xz
。 - 修复了导致残留文件遗留在 Debian 包根目录中的 bug。修复了 docker/for-linux#123。
安全
适用于所有平台
- 修复了 CVE-2023-0628。该漏洞允许攻击者通过诱骗用户打开精心构造的恶意
docker-desktop://
URL,在开发环境容器初始化期间执行任意命令。 - 修复了 CVE-2023-0629。该漏洞使得非特权用户能够通过
-H
(--host
) CLI 标志或DOCKER_HOST
环境变量将 Docker 主机设置为docker.raw.sock
(或在 Windows 上设置为npipe:////.pipe/docker_engine_linux
),从而绕过增强型容器隔离 (ECI) 限制并启动不具备 ECI 提供的额外加固功能的容器。这不影响已在运行的容器,也不影响通过常规方式(不使用 Docker 的原始 socket)启动的容器。
4.16.3
2023-01-30错误修复与改进
适用于 Windows
- 修复了当
%LOCALAPPDATA%
上启用文件系统压缩或加密时,Docker Desktop 未能启动 WSL 2 后端的问题。修复了 docker/for-win#13184。 - 修复了 Docker Desktop 在启动时未能报告缺失或过时的 WSL 安装的问题。修复了 docker/for-win#13184。
4.16.2
2023-01-19错误修复与改进
适用于所有平台
- 修复了在使用 containerd 集成功能时,
docker build
和docker tag
命令产生“镜像已存在”错误的问题。 - 修复了 Docker Desktop 4.16 引入的回归问题,该问题导致在 amd64 系统上针对 linux/386 平台的容器网络中断。修复了 docker/for-mac/6689。
适用于 Mac
- 修复了
Info.plist
文件名大小写问题,该问题导致vmnetd
在区分大小写的文件系统上崩溃。修复了 docker/for-mac/6677。
适用于 Windows
- 修复了 Docker Desktop 4.16 引入的回归问题,该问题导致在 WSL2 模式下 Docker Desktop 停留在“正在启动”阶段。修复了 docker/for-win/13165
4.16.1
2023-01-13错误修复与改进
适用于所有平台
- 修复了在容器内使用
sudo
时,部分镜像出现安全相关错误的问题。修复了 docker/for-mac/6675 和 docker/for-win/13161。
4.16.0
2023-01-12新增
- 扩展功能已从 Beta 阶段进入 GA 阶段。
- 快速搜索功能已从实验阶段进入 GA 阶段。
- 快速搜索功能现已包含扩展功能。
- 分析大型镜像现在速度提高了最高 4 倍。
- 新的本地镜像视图已从实验阶段进入 GA 阶段。
- 新增了 macOS 13 的 Beta 功能:Linux 版 Rosetta,用于在 Apple Silicon 上更快地模拟基于 Intel 的镜像。
更新组件
错误修复与改进
适用于所有平台
- 修复了使用
containerd
集成时,docker build --quiet
命令不输出镜像标识符的问题。 - 修复了使用
containerd
集成时,镜像检查 (image inspect) 不显示镜像标签的问题。 - 增加了运行中和已停止容器图标的对比度,以便色盲人士更容易扫描容器列表。
- 修复了一个 bug,该 bug 会导致用户重复收到输入新的 HTTP 代理凭据的提示,直到 Docker Desktop 重启为止。
- 添加了一个诊断命令
com.docker.diagnose login
,用于检查 HTTP 代理配置。 - 修复了对 Compose 堆栈执行操作时无法正常工作的问题。修复了 docker/for-mac#6566。
- 修复了 Docker Desktop 面板在启动时尝试获取磁盘使用信息并在引擎运行前显示错误横幅的问题。
- 在所有实验性功能旁边添加了一个信息横幅,其中包含如何选择退出实验性功能访问的说明。
- Docker Desktop 现在支持通过 HTTP 代理下载 Kubernetes 镜像。
- 修复了工具提示会遮挡操作按钮的问题。修复了 docker/for-mac#6516。
- 修复了容器视图中容器列表显示空白并提示“发生错误”的问题。
适用于 Mac
- 在 macOS 上安装或更新 Docker Desktop 的最低操作系统版本现在是 macOS Big Sur(版本 11)或更高版本。
- 修复了在使用传统的
osxfs
实现进行文件共享时,如果启用了增强容器隔离 (Enhanced Container Isolation),Docker 引擎无法启动的问题。 - 修复了在 VirtioFS 上创建的文件设置了可执行位的问题。修复了 docker/for-mac#6614。
- 恢复了从命令行卸载 Docker Desktop 的方法。修复了 docker/for-mac#6598。
- 修复了硬编码的
/usr/bin/kill
问题。修复了 docker/for-mac#6589。 - 修复了在 VirtioFS 上共享的超大文件(> 38GB)截断时(例如使用
truncate
命令)大小不正确的问题。 - 将设置中的磁盘镜像大小更改为使用十进制(以 10 为底)表示,以与 Finder 显示磁盘容量的方式一致。
- 修复了 Docker 在网络负载下崩溃的问题。修复了 docker/for-mac#6530。
- 修复了一个问题,该问题导致 Docker 在每次重启后都提示用户安装
/var/run/docker.sock
符号链接。 - 确保了安装
/var/run/docker.sock
符号链接的登录项已签名。 - 修复了恢复出厂设置时会移除
$HOME/.docker
的 bug。
适用于 Windows
- 修复了
docker build
在打印“load metadata for”时卡住的问题。修复了 docker/for-win#10247。 - 修复了 diagnose.exe 输出中的一个错别字。修复了 docker/for-win#13107。
- 添加了在 WSL 2 上运行 cgroupv2 的支持。通过在您的
%USERPROFILE%\.wslconfig
文件的[wsl2]
部分添加kernelCommandLine = systemd.unified_cgroup_hierarchy=1 cgroup_no_v1=all
来激活此功能。
已知问题
- 在容器内调用
sudo
时,部分镜像会出现安全相关错误。请参阅 docker/for-mac/6675 和 docker/for-win/13161。
4.15.0
2022-12-01新增
- 通过选择启用新的 VirtioFS 文件共享技术,显著提高了 macOS 用户的性能。适用于 macOS 12.5 及更高版本。
- Docker Desktop for Mac 在安装或首次运行时不再需要安装特权辅助进程
com.docker.vmnetd
。更多信息请参阅 Mac 的权限要求。 - 添加了 WebAssembly 功能。可与 containerd 集成配合使用。
- 改进了 beta 和实验性设置的描述,以清楚解释它们之间的区别以及如何访问它们。
- 虚拟机可用磁盘空间现已显示在 Mac 和 Linux 版 Docker Desktop 控制面板的页脚中。
- 如果可用空间低于 3GB,页脚中现在会显示磁盘空间警告。
- Docker Desktop 界面发生变化,以增强 ADA 无障碍访问性并实现视觉统一。
- 在扩展中添加了一个构建标签页,其中包含构建扩展所需的所有资源。
- 添加了更轻松地共享扩展的功能,可以通过
docker extension share
CLI 或扩展的管理标签页中的共享按钮进行。 - 市场中的扩展现已显示安装次数。您还可以按安装次数对扩展进行排序。
- 开发环境允许将 Git 仓库克隆到本地绑定挂载点,因此您可以使用任何本地编辑器或 IDE。
- 开发环境的更多改进:自定义名称、更好的私有仓库支持、改进的端口处理。
更新组件
错误修复与改进
适用于所有平台
- 使用 containerd 集成后,容器现可在重启时恢复。
- 修复了使用 containerd 集成时列出多平台镜像的问题。
- 改进了使用 containerd 集成时对悬空镜像的处理。
- 使用 containerd 集成实现了针对镜像的“reference”过滤器。
- 添加了通过
proxy.pac
在容器、docker pull
等中自动选择上游 HTTP/HTTPS 代理的支持。 - 修复了拉取时解析镜像引用时的回归问题。修复了 docker/for-win#13053、docker/for-mac#6560 和 docker/for-mac#6540。
适用于 Mac
- 改进了
docker pull
的性能。
适用于 Windows
- 修复了 Docker 启动和开发者登录时未使用系统 HTTP 代理的问题。
- 当 Docker Desktop 使用“系统”代理并且 Windows 设置发生更改时,Docker Desktop 现在无需重启即可使用新的 Windows 设置。
对于 Linux
- 修复了 Linux 上的热重载问题。修复了 docker/desktop-linux#30。
- 禁用了 Linux 上的托盘图标动画,这修复了某些用户的崩溃问题。
4.14.1
2022-11-17错误修复与改进
适用于所有平台
- 修复了使用镜像仓库访问管理时容器 DNS 查找的问题。
适用于 Mac
- 修复了导致镜像标签页上的分析镜像按钮无法工作的问题。
- 修复了一个错误,该错误导致在
/usr/local/lib
不存在时无法为用户创建符号链接。修复了 docker/for-mac#6569
4.14.0
2022-11-10新增
- 将虚拟化框架设为 macOS >= 12.5 的默认虚拟机监控程序。
- 将现有安装迁移到 macOS >= 12.5 的虚拟化框架虚拟机监控程序。
- 增强容器隔离功能(适用于 Docker Business 用户)现在可以在通用设置中启用。
更新
- Docker Engine v20.10.21,其中包含针对编号为 CVE-2022-39253 的 Git 漏洞的缓解措施,并更新了对
image:tag@digest
镜像引用的处理方式。 - Docker Compose v2.12.2
- Containerd v1.6.9
- Go 1.19.3
错误修复与改进
适用于所有平台
- Docker Desktop 现在需要大小为 /24 的内部网络子网。如果您之前使用的是 /28,它会自动扩展到 /24。如果您遇到网络问题,请检查 Docker 子网是否与您的基础设施存在冲突。修复了 docker/for-win#13025。
- 修复了一个问题,该问题阻止用户在 Git URL 包含大写字符时创建开发环境。
- 修复了诊断中报告的
vpnkit.exe is not running
错误。 - 回滚 qemu 至 6.2.0 版本,以修复运行模拟 amd64 代码时出现的如
PR_SET_CHILD_SUBREAPER is unavailable
的错误。 - 在扩展中启用了 contextIsolation 和 sandbox 模式。现在扩展在独立的上下文中运行,通过限制对大多数系统资源的访问来限制恶意代码可能造成的损害。
- 包含
unpigz
,以允许对已拉取的镜像进行并行解压缩。 - 修复了对选定容器执行操作相关的问题。修复了 https://github.com/docker/for-win/issues/13005
- 添加了允许您显示容器或项目视图的时间戳功能。
- 修复了使用 Control+C 中断
docker pull
时可能发生的段错误。 - 增加了默认 DHCP 租约时间,以避免虚拟机网络故障和每两小时断开连接的问题。
- 移除了容器列表上的无限加载指示器。修复了 https://github.com/docker/for-mac/issues/6486
- 修复了在设置中显示已用空间不正确值的问题。
- 修复了导致使用 containerd 集成时 Kubernetes 无法启动的错误。
- 修复了导致使用 containerd 集成时
kind
无法启动的错误。 - 修复了导致使用 containerd 集成时开发环境失效的错误。
- 在 containerd 集成中实现了
docker diff
。 - 在 containerd 集成中实现了
docker run —-platform
。 - 修复了导致使用 containerd 集成时非安全注册表无法工作的错误。
适用于 Mac
- 修复了虚拟化框架用户的启动失败问题。
- 默认情况下在 Mac 上重新添加了
/var/run/docker.sock
,以提高与tilt
和docker-py
等工具的兼容性。 - 修复了阻止在新 Mac 安装上创建开发环境的问题(错误:“Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?”)。
适用于 Windows
- 重新添加了
DockerCli.exe -SharedDrives
。修复了 docker/for-win#5625。 - Docker Desktop 现在允许 Docker 在 PowerShell 被禁用的机器上正常运行。
- 修复了一个问题,该问题导致在 Windows 上 Compose v2 并非始终默认启用。
- Docker Desktop 现在会在卸载时删除
C:\Program Files\Docker
文件夹。
已知问题
- 对于部分 Mac OS 用户,安装程序存在一个已知问题,导致无法安装 Docker Desktop 实验性漏洞和软件包发现功能所需的新辅助工具。要解决此问题,需要创建一个符号链接,可以使用以下命令创建:
sudo ln -s /Applications/Docker.app/Contents/Resources/bin/docker-index /usr/local/bin/docker-index
4.13.1
2022-10-31更新
错误修复与改进
适用于所有平台
- 修复了在使用
Control+C
或CMD+C
中断docker pull
时可能发生的段错误。 - 增加了默认 DHCP 租约时间,以避免虚拟机网络故障和每两小时断开连接的问题。
- 将
Qemu
回退到6.2.0
版本,以修复在运行模拟的 amd64 代码时诸如PR_SET_CHILD_SUBREAPER is unavailable
之类的错误。
适用于 Mac
- 默认在 Mac 上重新添加了
/var/run/docker.sock
符号链接,以提高与tilt
和docker-py
等工具的兼容性。修复了 docker/for-mac#6529。 - 修复了一个问题,该问题导致在新安装的 Mac 上无法创建 Dev Environments 并引起错误
"Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?")
适用于 Windows
- Docker Desktop 现在允许在 PowerShell 被禁用的机器上正常运行。
4.13.0
2022-10-19新增
- 为 Docker Business 用户引入了两项新的安全功能:Settings Management(设置管理)和 Enhanced Container Isolation(增强容器隔离)。阅读更多关于 Docker Desktop 新的强化 Docker Desktop 安全模型 (Hardened Docker Desktop security model)。
- 添加了新的 Dev Environments CLI 命令行工具
docker dev
,因此您可以通过命令行创建、列出和运行 Dev Envs。现在将 Dev Envs 集成到自定义脚本中变得更容易了。 - Docker Desktop 现在可以使用
--installation-dir
参数安装到任何驱动器和文件夹中。部分解决了 docker/roadmap#94。
更新
- Docker Scan v0.21.0
- Go 1.19.2 用于解决 CVE-2022-2879、CVE-2022-2880 和 CVE-2022-41715。
- 将 Docker Engine 和 Docker CLI 更新到 v20.10.20,其中包含针对 Git 漏洞的缓解措施,跟踪的漏洞编号为 CVE-2022-39253,并更新了对
image:tag@digest
镜像引用的处理方式,以及修复了 CVE-2022-36109。 - Docker Credential Helpers v0.7.0
- Docker Compose v2.12.0
- Kubernetes v1.25.2
- 用于 Docker Desktop 虚拟机内部的 CPU 模拟的 Qemu 7.0.0。
- Linux kernel 5.15.49
错误修复与改进
适用于所有平台
- Docker Desktop 现在允许在与 HTTP 和 HTTPS 代理通信时使用 TLS,以加密代理用户名和密码。
- Docker Desktop 现在将 HTTP 和 HTTPS 代理密码存储在操作系统的凭据管理器中。
- 如果 Docker Desktop 检测到 HTTP 或 HTTPS 代理密码已更改,它将提示开发者输入新密码。
- 这些主机和域名的绕过代理设置现在可以正确处理 HTTPS 的域名。
- 远程仓库视图和每日提示现在支持需要身份验证的 HTTP 和 HTTPS 代理。
- 我们引入了针对处于产品开发生命周期早期阶段的功能的“暗启动”。已选择加入的用户可以随时在设置的“beta features”(测试版功能)部分中选择退出。
- 添加了类别到 Extensions Marketplace(扩展市场)。
- 在鲸鱼图标菜单和 Extension(扩展)选项卡中添加了一个指示器,指示扩展更新何时可用。
- 修复了对于没有命名空间的镜像名称(例如 'my-extension')的扩展卸载失败的问题。
- 在 Container(容器)选项卡中明确显示端口映射。
- 更改了镜像磁盘使用信息的刷新频率,现在每天自动刷新一次。
- 使 Container(容器)和 Volume(卷)选项卡的样式保持一致。
- 修复了在 Settings(设置)中 Grpcfuse 文件共享模式启用问题。修复了 docker/for-mac#6467
- 对于运行 macOS < 12.5 的用户,Virtualization Framework 和 VirtioFS 被禁用。
- Containers(容器)选项卡上的端口现在可点击。
- Extensions SDK 现在允许
ddClient.extension.vm.cli.exec
、ddClient.extension.host.cli.exec
和ddClient.docker.cli.exec
接受不同的工作目录,并通过选项参数传递环境变量。 - 添加了一个小改进,当点击侧边栏中的 Extensions(扩展)时,可以导航到 Extensions Marketplace(扩展市场)。
- 在 Marketplace(市场)中添加了一个徽章,用于标识新的扩展。
- 修复了当使用 containerd 集成时 kubernetes 无法启动的问题。
- 修复了当使用 containerd 集成时
kind
无法启动的问题。 - 修复了当使用 containerd 集成时开发环境无法工作的问题。
- 在 containerd 集成中实现了
docker diff
。 - 在 containerd 集成中实现了
docker run —-platform
。 - 修复了当使用 containerd 集成时非安全注册表无法工作的问题。
- 修复了在 Settings(设置)中已用空间显示错误值的问题。
- Docker Desktop 现在从 Github releases 安装凭据助手。参见 docker/for-win#10247、docker/for-win#12995。
- 修复了一个问题,该问题导致用户在 7 天后会从 Docker Desktop 中注销。
适用于 Mac
- 为 Docker Desktop 添加了 Hide(隐藏)、Hide others(隐藏其他)和 Show all(全部显示)菜单项。参见 docker/for-mac#6446。
- 修复了一个 bug,该 bug 导致当从已安装的应用程序中运行安装工具时,应用程序被删除。修复了 docker/for-mac#6442。
- 默认情况下,Docker 不会在主机上创建
/var/run/docker.sock
符号链接,而是使用docker-desktop
CLI 上下文。
对于 Linux
- 修复了阻止从 Dashboard 推送镜像的错误
4.12.0
2022-09-01新增
- 增加了使用 containerd 拉取和存储镜像的功能。这是一项实验性功能。
- Docker Desktop 现在可以运行 untagged 镜像。修复了 docker/for-mac#6425。
- 在 Docker Extension Marketplace 中添加了搜索功能。修复了 docker/roadmap#346。
- 增加了放大、缩小或将 Docker Desktop 设置为实际大小的功能。这可以通过在 Mac 和 Windows 上分别使用键盘快捷键 ⌘ + / CTRL +、⌘ - / CTRL -、⌘ 0 / CTRL 0 来实现,或者通过 Mac 上的“视图 (View)”菜单来实现。
- 如果任何相关的容器可停止,则添加了 compose 停止按钮。
- 现在可以在容器 (Container) 视图中删除单个 compose 容器。
- 移除了针对 Fedora 35 上 virtiofsd <-> qemu 协议不匹配的临时解决方案,因为它不再需要。Fedora 35 用户应将 qemu 软件包升级到最新版本(截至撰写本文时为 qemu-6.1.0-15.fc35)。
- 为容器实现了集成终端。
- 默认情况下,为所有外部链接添加了显示链接地址的工具提示。
更新
- Docker Compose v2.10.2
- Docker Scan v0.19.0
- Kubernetes v1.25.0
- Go 1.19
- cri-dockerd v0.2.5
- Buildx v0.9.1
- containerd v1.6.8
- containerd v1.6.7
- runc v1.1.4
- runc v1.1.3
安全
适用于所有平台
- 修复了 CVE-2023-0626,该漏洞允许通过 Electron 客户端中 message-box 路由的查询参数进行远程代码执行 (RCE)。
- 修复了 CVE-2023-0625,该漏洞允许通过扩展描述/变更日志进行远程代码执行 (RCE),恶意扩展可能利用此漏洞。
适用于 Windows
- 修复了 CVE-2023-0627,该漏洞绕过了版本 4.11 中引入的
--no-windows-containers
安装标志。此标志允许管理员禁用 Windows 容器的使用。 - 修复了 CVE-2023-0633,其中向 Docker Desktop 安装程序注入参数可能导致本地提权。
Bug 修复和次要增强
适用于所有平台
- 出厂重置后,Compose V2 现已启用。
- 在新安装的 Docker Desktop 上,Compose V2 现已默认启用。
- Compose 中环境变量的优先级顺序更加一致,并且已清晰地文档化。
- 内核已升级到 5.10.124。
- 改进了由计算磁盘大小引起的总体性能问题。与 docker/for-win#9401 相关。
- Docker Desktop 现在阻止未安装 Rosetta 的 ARM Mac 用户切换回仅包含 Intel 二进制文件的 Compose V1。
- 将卷大小和创建时间 (Created) 列以及容器的启动时间 (Started) 列的默认排序顺序更改为降序。
- 重新组织了容器行操作,始终仅显示启动/停止和删除操作,而通过行菜单项可访问其余操作。
- 快速入门指南现在立即运行每个命令。
- 定义了容器/compose 状态 (Status) 列的排序顺序为 running > some running > paused > some paused > exited > some exited > created。
- 修复了 Docker Desktop 中即使存在镜像但镜像列表显示为空的问题。与 docker/for-win#12693 和 docker/for-mac#6347 相关。
- 根据是否显示系统容器来定义哪些镜像处于“使用中”。如果与 Kubernetes 和 Extensions 相关的系统容器未显示,则相关的镜像不被定义为“使用中”。
- 修复了一个错误,该错误导致某些语言环境下的 Docker 客户端在执行
docker exec
时挂起。修复了 https://github.com/apocas/dockerode/issues/534。 - 构建扩展时失败的 spawned 命令不再导致 Docker Desktop 意外退出。
- 修复了一个错误,该错误导致扩展在左侧菜单中显示为禁用状态,即使它们并未被禁用。
- 修复了在启用 Registry Access Management 且 Docker Hub 访问被阻止时,登录私有注册表的
docker login
命令。 - 修复了一个错误,该错误导致如果当前集群元数据未存储在
.kube/config
文件中,Docker Desktop 将无法启动 Kubernetes 集群。 - 更新了 Docker Desktop 和 MUI 主题包中的工具提示,使其与总体系统设计保持一致。
- 复制的终端内容不再包含不间断空格。
适用于 Mac
- 在 macOS 上安装或更新 Docker Desktop 的最低版本现为 10.15。修复了 docker/for-mac#6007。
- 修复了一个错误,该错误导致托盘菜单在下载更新后错误地显示“下载即将开始...”。修复了 for-mac/issues#5677 中报告的一些问题。
- 修复了一个错误,该错误导致应用更新后 Docker Desktop 未能重新启动。
- 修复了当用户使用 virtualization.framework 和严格防火墙软件时,计算机进入睡眠状态后会丢失与 Docker 的连接的问题。
- 修复了导致用户退出应用后 Docker Desktop 仍在后台运行的问题。修复了 docker/for-mac##6440
- 对于运行 macOS < 12.5 的用户,禁用了 Virtualization Framework 和 VirtioFS。
适用于 Windows
- 修复了更新期间显示的版本可能不正确的问题。修复了 for-win/issues#12822。
4.11.1
2022-08-05错误修复与改进
适用于所有平台
- 修复了阻止虚拟机系统位置(例如 /var/lib/docker)进行绑定挂载的回归问题。修复了 for-mac/issues#6433
适用于 Windows
- 修复了从 WSL2 发行版执行
docker login
到私有仓库的问题。修复了 docker/for-win#12871
4.11.0
2022-07-28新增
- 对于 Docker Business 客户,现在在 VMware ESXi 和 Azure 虚拟机中完全支持 Docker Desktop。更多信息请参阅 在 VM 或 VDI 环境中运行 Docker Desktop
- 向扩展市场添加了两个新扩展(vcluster 和 PGAdmin4)。
- 扩展市场新增了扩展排序功能。
- 修复了导致部分用户被过于频繁要求提供反馈的问题。您现在每年只会收到两次反馈请求。
- 为 Docker Desktop 添加了自定义主题设置。这允许您独立于设备设置,为 Docker Desktop 指定深色或浅色模式。修复了 docker/for-win#12747
- 为 Windows 安装程序添加了一个新标志。
--no-windows-containers
可禁用 Windows 容器集成。 - 为 Mac 安装命令添加了一个新标志。
--user <username>
为特定用户设置 Docker Desktop,使其在首次运行时无需管理员密码。
更新
错误修复与改进
适用于所有平台
- 向“容器”屏幕添加了容器/Compose 图标以及暴露的端口/退出码。
- 更新了 Docker 主题调色板的颜色值,以匹配我们的设计系统。
- 改进了当 Registry Access Management 阻止 Docker 引擎访问 Docker Hub 时,
docker login
显示的错误消息。 - 提高了主机和 Docker 之间的吞吐量。例如,提高了
docker cp
的性能。 - 收集诊断信息所需时间更短。
- 在容器概览页上选择或取消选择 compose 应用时,现在会选择/取消选择其所有容器。
- 容器概览页的镜像列中,Tag 名称现在可见。
- 向终端的滚动条添加了搜索标记,以便视口外的匹配项可见。
- 修复了容器页面上搜索功能工作不正常的问题。修复了 docker/for-win#12828。
- 修复了导致卷屏幕无限加载的问题。修复了 docker/for-win#12789。
- 修复了容器 UI 中调整大小或隐藏列不起作用的问题。修复了 docker/for-mac#6391。
- 修复了一个错误,该错误导致离开“市场”屏幕时,同时安装、更新或卸载多个扩展的状态会丢失。
- 修复了一个问题,该问题导致在“关于”页面中的 compose 版本只会在重新启动 Docker Desktop 后从 v2 更新到 v1。
- 修复了因底层硬件不支持 WebGL2 渲染而导致用户无法查看日志视图的问题。修复了 docker/for-win#12825。
- 修复了容器和镜像的 UI 失去同步的问题。
- 修复了启用实验性虚拟化框架时出现的启动竞争条件。
适用于 Mac
- 修复了从 UI 执行 Compose 命令的问题。修复了 docker/for-mac#6400。
适用于 Windows
- 修复了水平调整大小问题。修复了 docker/for-win#12816。
- 如果在 UI 中配置了 HTTP/HTTPS 代理,它会自动将来自镜像构建和正在运行的容器的流量发送到该代理。这避免了在每个容器或构建中单独配置环境变量的需求。
- 添加了
--backend=windows
安装程序选项,用于将 Windows 容器设置为默认后端。
对于 Linux
- 修复了设置其路径包含空格的文件共享相关的问题。
4.10.1
2022-07-05错误修复与改进
适用于 Windows
- 修复了对于从 WSL 创建的 Compose 应用,UI 中的操作失败的问题。修复了 docker/for-win#12806。
适用于 Mac
- 修复了一个错误,即安装命令因路径未初始化而失败。修复了 docker/for-mac#6384。
4.10.0
2022-06-30新增
- 现在可以在 Docker Desktop 中运行镜像之前添加环境变量。
- 增加了功能,以便更轻松地使用容器日志,例如正则表达式搜索以及在容器仍在运行时清除容器日志的功能。
- 根据容器列表的反馈进行了改进。添加了端口信息,并将容器名称和镜像名称分开显示。
- 新增了两个扩展(Ddosify 和 Lacework)到扩展市场。
移除
- 移除了主页,以便进行新的设计。您可以在此处提供反馈。
更新
- Docker Engine v20.10.17
- Docker Compose v2.6.1
- Kubernetes v1.24.1
- cri-dockerd v0.2.1
- CNI plugins v1.1.1
- containerd v1.6.6
- runc v1.1.2
- Go 1.18.3
错误修复与改进
适用于所有平台
- 在容器选项卡中新增了用于启动/暂停/停止选定容器的批量操作。
- 在容器选项卡中,为 Compose 项目新增了暂停和重启操作。
- 在容器选项卡中新增了图标,并显示了公开端口或退出码信息。
- 外部 URL 现在可以使用类似
docker-desktop://extensions/marketplace?extensionId=docker/logs-explorer-extension
的链接引用扩展市场中的扩展详情。 - Compose 应用的展开或折叠状态现在会得到保留。
docker extension
CLI 命令默认随 Docker Desktop 提供。- 增大了在扩展市场中显示的截图尺寸。
- 修复了一个错误,即如果 Docker 扩展的后端容器停止,扩展将无法加载。修复了 docker/extensions-sdk#16。
- 修复了一个错误,即镜像搜索字段无故清空。修复了 docker/for-win#12738。
- 修复了一个错误,即许可证协议不显示并静默阻止 Docker Desktop 启动。
- 修复了未发布扩展显示的镜像和标签问题,现在能正确显示已安装的未发布扩展中的信息。
- 修复了支持界面中重复的页脚。
- 开发环境现在可以从 GitHub 仓库的子目录创建。
- 移除了在离线使用 Docker Desktop 时,因无法加载每日提示而出现的错误消息。修复了 docker/for-mac#6366。
适用于 Mac
- 修复了 macOS 上 bash 补全文件位置的错误。修复了 docker/for-mac#6343。
- 修复了一个错误,即如果用户名超过 25 个字符,Docker Desktop 无法启动。修复了 docker/for-mac#6122。
- 修复了一个错误,即 Docker Desktop 由于无效的系统代理配置而无法启动。修复了 docker/for-mac#6289中报告的部分问题。
- 修复了在启用实验性虚拟化框架时 Docker Desktop 启动失败的错误。
- 修复了卸载 Docker Desktop 后托盘图标仍然显示的错误。
适用于 Windows
- 修复了导致 Hyper-V 上 CPU 使用率过高的错误。修复了 docker/for-win#12780。
- 修复了 Docker Desktop for Windows 启动失败的错误。修复了 docker/for-win#12784。
- 修复了
--backend=wsl-2
安装程序标志未将后端设置为 WSL 2 的错误。修复了 docker/for-win#12746。
对于 Linux
- 修复了设置无法多次应用的错误。
- 修复了在
关于
界面中显示的 Compose 版本。
已知问题
- 偶尔,Docker 引擎会在执行
docker system prune
期间重启。这是当前引擎使用的 buildkit 版本中的已知问题,并将在未来的版本中修复。
4.9.1
2022-06-16下载 Docker Desktop
Windows (校验和) | 搭载 Apple 芯片的 Mac (校验和) | 搭载 Intel 芯片的 Mac (校验和) | Debian - RPM - Arch (校验和)
错误修复与改进
适用于所有平台
- 修复了仪表板屏幕空白的问题。修复了 docker/for-win#12759。
4.9.0
2022-06-02新增
- 在主页上新增了更多指南,涵盖以下内容:Elasticsearch, MariaDB, Memcached, MySQL, RabbitMQ 和 Ubuntu。
- 为 Docker Desktop Dashboard 添加了页脚,其中包含有关 Docker Desktop 更新状态和 Docker Engine 统计信息的常规信息
- 重新设计了容器表格,增加了以下内容:
- 一个用于将容器 ID 复制到剪贴板的按钮
- 每个容器的暂停按钮
- 容器表格的列大小调整功能
- 容器表格的排序和大小调整状态持久化
- 容器表格的批量删除功能
更新
错误修复与改进
适用于所有平台
- 修复了当 Docker Desktop 暂停时退出应用程序会导致 Docker Desktop 卡死的问题。
- 修复了 PKI 过期后 Kubernetes 集群无法正确重置的问题。
- 修复了 Extensions Marketplace 未使用已定义的 HTTP 代理的问题。
- 改进了 Docker Desktop Dashboard 中的日志搜索功能,现在允许包含空格。
- 现在,在 Dashboard 中点击按钮的鼠标中键将表现为左键点击,而不是打开空白窗口。
适用于 Mac
- 修复了一个问题,该问题可避免在将 /opt 添加到文件共享目录列表时在主机上创建
/opt/containerd/bin
和/opt/containerd/lib
。
适用于 Windows
- 修复了 WSL 2 集成中的一个错误:如果将文件或目录绑定挂载到容器中,并且容器退出,则该文件或目录会被同名但类型不同的对象替换。例如,如果一个文件被一个目录替换,或者一个目录被一个文件替换,则任何尝试绑定挂载新对象的尝试都会失败。
- 修复了托盘图标和 Dashboard UI 未显示且 Docker Desktop 未完全启动的错误。修复了 docker/for-win#12622。
已知问题
对于 Linux
- 绑定挂载中文件所有权权限更改失败。这是由于我们在 Docker Engine 运行的主机和虚拟机之间实现文件共享的方式导致的。我们计划在下一个版本中解决此问题。
4.8.2
2022-05-18更新
错误修复和次要增强
- 修复了手动代理设置导致拉取镜像时出现问题的问题。修复了 docker/for-win#12714 和 docker/for-mac#6315。
- 修复了禁用扩展时导致 CPU 占用率过高的问题。修复了 docker/for-mac#6310。
- Docker Desktop 现在会在日志文件和诊断信息中隐去 HTTP 代理密码。
已知问题
对于 Linux
- 绑定挂载中文件所有权权限更改失败。这是由于我们在 Docker Engine 运行的主机和虚拟机之间实现文件共享的方式导致的。我们计划在下一个版本中解决此问题。
4.8.1
2022-05-09新增
- 发布了 Linux 版 Docker Desktop。
- Docker Extensions 和 Extensions SDK 的 Beta 版本已发布。
- 创建了 Docker 主页,您可以在其中运行常用镜像并了解如何使用它们。
- Compose V2 现已全面可用 (GA)
错误修复与改进
- 修复了更新 Docker Desktop 时导致 Kubernetes 集群被删除的错误。
已知问题
对于 Linux
- 绑定挂载中文件所有权权限更改失败。这是由于我们在 Docker Engine 运行的主机和虚拟机之间实现文件共享的方式导致的。我们计划在下一个版本中解决此问题。
4.8.0
2022-05-06新增
- 发布了 Linux 版 Docker Desktop。
- Docker Extensions 和 Extensions SDK 的 Beta 版本已发布。
- 创建了 Docker 主页,您可以在其中运行常用镜像并了解如何使用它们。
- Compose V2 现已全面可用 (GA)
更新
Bug 修复和次要增强
适用于所有平台
- 引入了读取系统代理的功能。除非与您的操作系统级别代理不同,否则您不再需要手动配置代理。
- 修复了在代理后运行时 Dashboard 中显示远程仓库的错误。
- 修复了 vpnkit 在服务器消失后仍建立并阻塞客户端连接的问题。详情请参阅 docker/for-mac#6235
- 改进了 Docker Desktop 中的卷 (Volume) 选项卡
- 显示卷大小。
- 可以调整、隐藏和重新排序列。
- 即使在 Docker Desktop 重启后,列的排序顺序和隐藏状态也会被保留。
- 在不同选项卡之间切换时,即使在 Docker Desktop 重启后,行选择状态也会被保留。
- 修复了 Dev Environments 选项卡中添加更多项目时不会添加滚动条的错误。
- 标准化了 Dashboard 中的头部标题和操作。
- 添加了通过 HTTP 代理下载注册表访问管理策略的支持。
- 修复了机器长时间处于睡眠模式时导致远程仓库为空的问题。
- 修复了一个错误:当悬空镜像的名称未标记为 "<none>" 但标签标记为此值时,它们未在清理过程中被选中。
- 改进了因需要 HTTP 代理而导致
docker pull
失败时的错误消息。 - 添加了在 Docker Desktop 中轻松清除搜索栏的功能。
- 将“Containers / Apps”选项卡重命名为“Containers”。
- 修复了当
C:\ProgramData\DockerDesktop
是文件或符号链接时,Docker Desktop 安装程序静默崩溃的错误。 - 修复了一个错误:没有命名空间的镜像(例如
docker pull <private registry>/image
)会被注册表访问管理错误地阻止,除非在设置中启用了对 Docker Hub 的访问。
适用于 Mac
- Docker Desktop 的图标现在符合 Big Sur 样式指南。详情请参阅 docker/for-mac#5536
- 修复了 Dock 图标重复以及 Dock 图标未能按预期工作的问题。修复了 docker/for-mac#6189。
- 改进了对
Cmd+Q
快捷键的支持。
适用于 Windows
- 改进了对
Ctrl+W
快捷键的支持。
已知问题
适用于所有平台
- 目前,如果您正在运行 Kubernetes 集群并升级到 Docker Desktop 4.8.0,该集群将被删除。我们计划在下一个版本中修复此问题。
对于 Linux
- 绑定挂载中文件所有权权限更改失败。这是由于我们在 Docker Engine 运行的主机和虚拟机之间实现文件共享的方式导致的。我们计划在下一个版本中解决此问题。
4.7.1
2022-04-19错误修复与改进
适用于所有平台
- 修复了快速入门指南最终屏幕崩溃的问题。
适用于 Windows
- 修复了因符号链接错误导致更新失败的错误。修复了 docker/for-win#12650。
- 修复了阻止使用 Windows 容器模式的错误。修复了 docker/for-win#12652。
4.7.0
2022-04-07新增
- IT 管理员现在可以使用命令行远程安装 Docker Desktop。
- 添加了 Docker Software Bill of Materials (SBOM) CLI 插件。新的 CLI 插件使用户能够为 Docker 镜像生成 SBOM。
- 在新 Kubernetes 集群中使用 cri-dockerd 而非
dockershim
。这一变化对用户来说是透明的,Kubernetes 容器仍然像以前一样在 Docker Engine 上运行。cri-dockerd
允许 Kubernetes 使用标准的 Container Runtime Interface 管理 Docker 容器,该接口与控制其他容器运行时所使用的接口相同。更多信息请参阅 The Future of Dockershim is cri-dockerd。
更新
安全
- 将 Docker Engine 更新至 v20.10.14 以解决 CVE-2022-24769
- 将 containerd 更新至 v1.5.11 以解决 CVE-2022-24769
错误修复与改进
适用于所有平台
- 修复了注册表访问管理策略在失败后从未刷新的错误。
- 用户界面中的日志和终端现在会遵循您的操作系统主题(亮色和暗色模式)。
- 通过多选复选框可以轻松同时清理多个卷。
- 改进了登录反馈。
适用于 Mac
- 修复了有时导致 Docker Desktop 显示空白白屏的问题。解决了 docker/for-mac#6134。
- 修复了使用 Hyperkit 时,从睡眠状态唤醒后 gettimeofday() 性能下降的问题。解决了 docker/for-mac#3455。
- 修复了在文件共享使用
osxfs
时,导致 Docker Desktop 在启动过程中无响应的问题。
适用于 Windows
- 修复了卷标题问题。解决了 docker/for-win#12616。
- 修复了 WSL 2 集成中的一个错误,该错误导致在重启 Docker Desktop 或切换到 Windows 容器后 Docker 命令停止工作。
4.6.1
2022-03-22更新
错误修复与改进
- 阻止了 vpnkit-forwarder 中的自旋(spinning),避免日志中充斥错误消息。
- 修复了未设置 HTTP 代理时诊断信息上传失败的问题。解决了 docker/for-mac#6234。
- 移除了自诊断中的误报错误“vm is not running”。解决了 docker/for-mac#6233。
4.6.0
2022-03-14新增
适用于所有平台
- Docker Desktop 控制面板的卷管理功能现在提供了使用多选复选框高效清理卷的能力。
适用于 Mac
- Docker Desktop 4.6.0 为 macOS 用户提供了启用一项名为 VirtioFS 的全新实验性文件共享技术的选项。在测试中,VirtioFS 已显示出可大幅减少主机和虚拟机之间同步更改所需的时间,从而带来显著的性能改进。更多信息请参阅 VirtioFS。
更新
适用于所有平台
- Docker Engine v20.10.13
- Compose v2.3.3
- Buildx 0.8.0
- containerd v1.4.13
- runc v1.0.3
- Go 1.17.8
- Linux kernel 5.10.104
安全
适用于所有平台
- 修复了 CVE-2022-0847,也称为“Dirty Pipe”,这是一个可能允许攻击者从容器内部修改主机上容器镜像文件的问题。如果使用 WSL 2 后端,您必须运行
wsl --update
命令来更新 WSL 2。
适用于 Windows
- 修复了 CVE-2022-26659,该漏洞可能允许攻击者在安装或更新 Docker Desktop 期间覆盖系统上任何管理员可写的文件。
适用于 Mac
错误修复与改进
适用于所有平台
- 修复了设置 HTTPS 代理时诊断信息上传失败的问题。
- 在系统托盘菜单中检查更新时,现在会打开“软件更新”设置部分。
适用于 Mac
- 修复了 Docker Desktop 启动后系统托盘菜单不显示所有菜单项的问题。修复了 docker/for-mac#6192。
- 修复了 Docker Desktop 不再在后台启动的回归问题。修复了 docker/for-mac#6167。
- 修复了 Docker Desktop Dock 图标丢失的问题。修复了 docker/for-mac#6173。
- 在使用实验性的
virtualization.framework
时,提高了块设备访问速度。参见 基准测试。 - 将默认虚拟机内存分配增加到物理内存的一半(最少 2 GB,最多 8 GB),以提升开箱即用性能。
适用于 Windows
- 修复了 UI 永远卡在
starting
状态的问题,尽管 Docker Desktop 从命令行可以正常工作。 - 修复了 Docker Desktop 系统托盘图标丢失的问题。修复了 docker/for-win#12573
- 修复了在使用最新的 5.10.60.1 内核的 WSL 2 环境下,镜像仓库访问管理的问题。
- 修复了在 WSL 2 环境中启动的 Compose 应用,选择其容器时 UI 崩溃的问题。修复了 docker/for-win#12567。
- 修复了在快速入门指南终端中复制文本的问题。修复了 docker/for-win#12444。
已知问题
适用于 Mac
- 启用 VirtioFS 后,使用不同 Unix 用户 ID 运行进程的容器可能会遇到缓存问题。例如,如果以
root
用户运行的进程查询文件,而另一个以nginx
用户运行的进程立即尝试访问同一文件,则nginx
进程将收到“权限被拒绝”错误。
4.5.1
2022-02-15错误修复与改进
适用于 Windows
- 修复了新安装默认使用 Hyper-V 后端而非 WSL 2 的问题。
- 修复了 Docker Desktop Dashboard 中的崩溃问题,该问题会导致系统托盘菜单消失。
如果您在 Windows 家庭版上运行 Docker Desktop,安装 4.5.1 版本将自动切换回 WSL 2。如果您运行的是其他版本的 Windows,并且希望 Docker Desktop 使用 WSL 2 后端,则必须通过在设置 > 通用部分启用使用基于 WSL 2 的引擎选项来手动切换。或者,您可以编辑位于 %APPDATA%\Docker\settings.json
的 Docker Desktop 设置文件,手动将 wslEngineEnabled
字段的值切换为 true
。
4.5.0
2022-02-10新增
- Docker Desktop 4.5.0 引入了新版本的 Docker 菜单,可在所有操作系统上提供一致的用户体验。更多信息,请参阅博客文章新 Docker 菜单和 Docker Desktop 4.5 的改进发布亮点
- 'docker version' 输出现在会显示机器上安装的 Docker Desktop 版本。
更新
安全
适用于 Mac
- 修复了 CVE-2021-44719,在该漏洞中,可以从容器访问主机上的任何用户文件,绕过共享文件夹的允许列表。
适用于 Windows
- 修复了 CVE-2022-23774,在该漏洞中,Docker Desktop 允许攻击者移动任意文件。
错误修复与改进
适用于所有平台
- 修复了用户退出 Docker Desktop 并重新启动应用程序后,Docker Desktop 错误地提示用户登录的问题。
- 通过在 Linux 中设置
fs.inotify.max_user_watches=1048576
和fs.inotify.max_user_instances=8192
,提高了文件系统监视 (inotify) 限制。修复了 docker/for-mac#6071。
适用于 Mac
- 修复了在使用
osxfs
且未与虚拟机共享任何主机目录时,虚拟机在启动过程中无响应的问题。 - 修复了用户无法使用 Docker Desktop Dashboard 停止使用不同版本的 Docker Compose 启动的应用的问题。例如,如果用户使用 V1 启动了 Docker Compose 应用,然后切换到 Docker Compose V2,尝试停止该应用将失败。
- 修复了用户退出 Docker Desktop 并重新启动应用程序后,Docker Desktop 错误地提示用户登录的问题。
- 修复了关于 Docker Desktop 窗口不再起作用的问题。
- 将 Mac M1 上的 CPU 数量限制为 8 个,以解决启动问题。修复了 docker/for-mac#6063。
适用于 Windows
- 修复了与使用第 2 版启动的 compose 应用相关的问题,而 dashboard 仅处理第 1 版。
已知问题
适用于 Windows
全新安装 Docker Desktop 4.5.0 存在一个错误,该错误导致 Docker Desktop 默认使用 Hyper-V 后端而不是 WSL 2。这意味着 Windows 家庭版用户将无法启动 Docker Desktop,因为 WSL 2 是唯一支持的后端。要解决此问题,您必须从您的机器上卸载 4.5.0,然后下载并安装 Docker Desktop 4.5.1 或更高版本。或者,您可以编辑位于 %APPDATA%\Docker\settings.json
的 Docker Desktop 设置文件,手动将 wslEngineEnabled
字段的值切换为 true
。
4.4.4
2022-01-24错误修复与改进
适用于 Windows
- 修复了从 WSL 2 登录的问题。修复了 docker/for-win#12500。
已知问题
适用于 Windows
- 通过浏览器登录后,点击进入 Desktop,有时不会将 Dashboard 切换到前台。
- 登录后,当 Dashboard 获得焦点时,即使点击后台窗口,它有时也会保持在前台。解决方法是,在点击其他应用程序窗口之前,需要先点击 Dashboard。
- 通过
registry.json
文件启用组织限制时,本周提示会显示在强制登录对话框的上方。
4.4.3
2022-01-14错误修复与改进
适用于 Windows
- 禁用了 Dashboard 快捷方式,以防止在最小化或失去焦点时捕获它们。修复了 docker/for-win#12495。
已知问题
适用于 Windows
- 通过浏览器登录后,点击进入 Desktop,有时不会将 Dashboard 切换到前台。
- 登录后,当 Dashboard 获得焦点时,即使点击后台窗口,它有时也会保持在前台。解决方法是,在点击其他应用程序窗口之前,需要先点击 Dashboard。
- 通过
registry.json
文件启用组织限制时,本周提示会显示在强制登录对话框的上方。
4.4.2
22-01-13新增
- 使用 Auth0 和单点登录轻松安全地登录
- 单点登录:拥有 Docker Business 订阅的用户现在可以配置 SSO,使用其身份提供商 (IdP) 进行身份验证以访问 Docker。更多信息,请参阅单点登录。
- 现在登录 Docker Desktop 将通过浏览器进行,以便您获得密码管理器自动填充的所有好处。
更新组件
安全
- 修复了 CVE-2021-45449,该漏洞影响当前使用 Docker Desktop 4.3.0 或 4.3.1 版本的用户。
Docker Desktop 4.3.0 和 4.3.1 版本存在一个错误,可能在登录期间在用户的机器上记录敏感信息(访问令牌或密码)。这仅影响使用 Docker Desktop 4.3.0、4.3.1 并且在 4.3.0 或 4.3.1 版本期间登录过的用户。获取这些数据需要访问用户的本地文件。
错误修复与改进
适用于所有平台
- 如果
registry.json
文件中的allowedOrgs
字段包含多个组织,Docker Desktop 会显示错误。如果您正在为不同的开发人员群体使用多个组织,则必须为每个群体提供一个单独的registry.json
文件。 - 修复了 Compose 中的一个回归问题,该问题导致容器名称分隔符从
-
恢复为_
。修复 docker/compose-switch。
适用于 Mac
- 修复了 Dashboard 中容器的内存统计信息显示问题。修复 docker/for-mac/#4774。
- 在
settings.json
中添加了一个已弃用选项:"deprecatedCgroupv1": true
,该选项将 Linux 环境切换回 cgroups v1。如果您的软件需要 cgroups v1,应将其更新以兼容 cgroups v2。尽管 cgroups v1 应能继续工作,但未来的一些功能可能会依赖于 cgroups v2。并且一些 Linux 内核错误可能只能在 cgroups v2 下修复。 - 修复了一个问题,该问题导致在暂停 Docker Desktop 后让机器进入睡眠模式,会使机器从睡眠模式唤醒后 Docker Desktop 无法从暂停状态恢复。修复 for-mac#6058。
适用于 Windows
- 执行
Reset to factory defaults
(重置为出厂默认设置)不再关闭 Docker Desktop。
已知问题
适用于所有平台
- 通过
registry.json
文件启用组织限制时,本周提示会显示在强制登录对话框的上方。
适用于 Windows
- 在浏览器中登录后,点击 Proceed to Desktop(继续前往 Desktop),有时不会将 Dashboard 窗口带到前台。
- 登录后,当 Dashboard 获得焦点时,即使点击后台窗口,它有时也会保持在前台。解决方法是,在点击其他应用程序窗口之前,需要先点击 Dashboard。
- 当 Dashboard 打开时,即使它没有焦点或已最小化,它仍然会捕获键盘快捷键(例如,Ctrl+R 用于 Restart(重启))。
4.3.2
2021-12-21安全
- 修复了 CVE-2021-45449,该漏洞影响当前使用 Docker Desktop 4.3.0 或 4.3.1 版本的用户。
Docker Desktop 4.3.0 和 4.3.1 版本存在一个错误,可能在登录期间在用户的机器上记录敏感信息(访问令牌或密码)。这仅影响使用 Docker Desktop 4.3.0、4.3.1 并且在 4.3.0 或 4.3.1 版本期间登录过的用户。获取这些数据需要访问用户的本地文件。
更新组件
安全
Log4j 2 CVE-2021-44228:我们已更新了 docker scan
命令行插件。此新版本的 docker scan
能够检测到 Log4j 2 CVE-2021-44228 和 Log4j 2 CVE-2021-45046
更多信息请参阅 博文 Apache Log4j 2 CVE-2021-44228。
4.3.1
2021-12-11更新组件
安全
Log4j 2 CVE-2021-44228:我们已经为您更新了 docker scan
命令行插件。Docker Desktop 4.3.0 及更早版本中旧版本的 docker scan
无法检测到 Log4j 2 CVE-2021-44228。
更多信息请参阅 博文 Apache Log4j 2 CVE-2021-44228。
4.3.0
2021-12-02更新组件
- Docker Engine v20.10.11
- containerd v1.4.12
- Buildx 0.7.1
- Compose v2.2.1
- Kubernetes 1.22.4
- Docker Hub Tool v0.4.4
- Go 1.17.3
错误修复和次要更改
适用于所有平台
- 如果主机没有 Internet 连接,则添加了一个自诊断警告。
- 修复了一个问题,该问题阻止用户使用 Volumes UI 中的“另存为”选项从卷保存文件。修复 docker/for-win#12407。
- Docker Desktop 现在使用 cgroupv2。如果您需要在容器中运行
systemd
,则:- 确保您的
systemd
版本支持 cgroupv2。它必须至少是systemd
247。考虑将所有centos:7
镜像升级到centos:8
。 - 运行
systemd
的容器需要以下选项:--privileged --cgroupns=host -v /sys/fs/cgroup:/sys/fs/cgroup:rw
。
- 确保您的
适用于 Mac
- Docker Desktop 在 Apple Silicon 上不再需要 Rosetta 2,但有 三个可选的命令行工具 除外。
适用于 Windows
- 修复了一个问题,该问题导致 Docker Desktop 在启动期间失败,如果主目录路径包含正则表达式中使用的字符。修复 docker/for-win#12374。
已知问题
Docker Desktop Dashboard 在基于 Hyper-V 的机器上错误地将容器内存使用量显示为零。您可以使用命令行中的 docker stats
命令作为一种解决方法来查看实际内存使用量。参见 docker/for-mac#6076。
弃用
- 以下内部 DNS 名称已弃用,并将在未来版本中移除:
docker-for-desktop
、docker-desktop
、docker.for.mac.host.internal
、docker.for.mac.localhost
、docker.for.mac.gateway.internal
。您现在必须使用host.docker.internal
、vm.docker.internal
和gateway.docker.internal
。 - 已移除:Docker Desktop 中已移除了自定义 RBAC 规则,因为它会向所有 Service Account 授予
cluster-admin
特权。修复 docker/for-mac/#4774。
4.2.0
2021-11-09新增
暂停/恢复:您现在可以在不积极使用 Docker Desktop 时暂停会话,并节省您机器上的 CPU 资源。
- 实现了 Docker 公共路线图#226
软件更新:现在可为所有 Docker 订阅(包括 Docker Personal 和 Docker Pro)的用户提供关闭自动检查更新的选项。所有与更新相关的设置已移至 软件更新 部分。
窗口管理: Docker Desktop Dashboard 窗口的大小和位置在您关闭并重新打开 Docker Desktop 时会得到保留。
更新组件
错误修复和次要更改
适用于所有平台
- 改进: 自诊断现在也会检查主机 IP 和
docker networks
之间的重叠。 - 修复了显示 Docker Desktop Dashboard 更新可用性的指示器位置问题。
适用于 Mac
- 修复了点击致命错误对话框上的退出时导致 Docker Desktop 停止响应的问题。
- 修复了影响用户将
docker volume
绑定挂载到主机目录上时罕见的启动失败问题。如果存在,此修复程序还将删除用户在相应主机目录上手动添加的DENY DELETE
ACL 条目。 - 修复了一个错误,即在升级时会忽略
Docker.qcow2
文件,并转而使用新的Docker.raw
文件,导致容器和镜像丢失。请注意,如果系统同时存在这两个文件(由于之前的错误),则将使用最近修改的文件,以避免最近的容器和镜像再次丢失。要强制使用旧的Docker.qcow2
,请删除较新的Docker.raw
文件。修复了 docker/for-mac#5998。 - 修复了一个错误,即子进程在关闭期间可能意外失败,从而触发意外的致命错误弹出窗口。修复了 docker/for-mac#5834。
适用于 Windows
- 修复了点击致命错误对话框中的退出时 Docker Desktop 有时会卡死的问题。
- 修复了更新已下载但尚未应用时频繁显示下载更新弹出窗口的问题 docker/for-win#12188。
- 修复了安装新更新时在应用程序有时间关闭之前将其终止的问题。
- 修复:即使在阻止用户启动先决服务(例如 LanmanServer)的组策略下,Docker Desktop 也能安装成功。修复了 docker/for-win#12291。
4.1.1
2021-10-12错误修复和次要更改
适用于 Mac
从 4.1.0 升级时,Docker 菜单不会变为更新并重启,因此您只需等待下载完成(图标会改变),然后选择重启即可。此错误已在 4.1.1 中修复,适用于未来的升级。
- 修复了一个错误,即在升级时会忽略
Docker.qcow2
文件,并转而使用新的Docker.raw
文件,导致容器和镜像丢失。请注意,如果系统同时存在这两个文件(由于之前的错误),则将使用最近修改的文件,以避免最近的容器和镜像再次丢失。要强制使用旧的Docker.qcow2
,请删除较新的Docker.raw
文件。修复了 docker/for-mac#5998。 - 修复了 Docker Desktop Dashboard 中设置按钮和软件更新按钮之间的更新通知叠加层有时会不同步的问题。
- 修复了安装新下载的 Docker Desktop 更新的菜单项问题。当更新准备好安装时,重启选项会变为更新并重启。
适用于 Windows
- 修复了 WSL 2 集成在某些发行版(例如 Arch 或 Alpine)中的回归问题。修复了 docker/for-win#12229
- 修复了 Dashboard 中设置按钮和软件更新按钮之间的更新通知叠加层有时会不同步的问题。
4.1.0
2021-09-30新增
- 软件更新:设置选项卡现在包含一个新部分,可帮助您管理 Docker Desktop 更新。软件更新部分会在有新更新时通知您,并允许您下载更新或查看新版本中包含的信息。
- Compose V2 您现在可以在通用设置中指定是否使用 Docker Compose V2。
- 卷管理:现在所有订阅(包括 Docker Personal)的用户都可以使用卷管理功能。包含 Docker 公共路线图#215
更新组件
- Compose V2
- Buildx 0.6.3
- Kubernetes 1.21.5
- Go 1.17.1
- Alpine 3.14
- Qemu 6.1.0
- 基础发行版为 debian:bullseye
错误修复和次要更改
适用于 Windows
- 修复了与反恶意软件触发相关的错误,自诊断会避免调用
net.exe
工具。 - 修复了自诊断中 WSL 2 Linux 虚拟机的文件系统损坏问题。这可能是由 microsoft/WSL#5895 引起的。
- 修复了
SeSecurityPrivilege
权限要求问题。参见 docker/for-win#12037。 - 修复了 CLI 上下文切换与 UI 同步问题。参见 docker/for-win#11721。
- 在
settings.json
中添加了键vpnKitMaxPortIdleTime
,以允许禁用或延长空闲网络连接超时。 - 修复了退出时崩溃的问题。参见 docker/for-win#12128。
- 修复了 CLI 工具在 WSL 2 分发版中不可用的错误。
- 修复了由于 panic.log 上的访问权限问题导致 Linux 容器切换到 Windows 容器时卡住的问题。参见 for-win#11899。
已知问题
适用于 Windows
在某些基于 WSL 的分发版(如 ArchWSL)上升级到 4.1.0 时,Docker Desktop 可能会启动失败。参见 docker/for-win#12229
4.0.1
2021-09-13更新组件
- Compose V2 RC3
- Compose v2 现已托管在 github.com/docker/compose 上。
- 修复了使用
compose up --scale
进行缩减时出现的 go panic 问题。 - 修复了在捕获退出代码时
compose run --rm
中出现的竞争条件。
错误修复和次要更改
适用于所有平台
- 修复了 Docker Desktop Dashboard 中无法使用复制粘贴功能的错误。
适用于 Windows
- 修复了 Docker Desktop 无法使用 Hyper-V 引擎正确启动的错误。参见 docker/for-win#11963
4.0.0
2021-08-31新增
Docker 宣布了产品订阅的更新和扩展,以提高我们开发者和企业的生产力、协作能力以及安全性。。
更新后的 Docker 订阅服务协议 包含了对 Docker Desktop 条款的更改。
- Docker Desktop 对小型企业(员工少于 250 人且年收入低于 1000 万美元)、个人使用、教育和非商业开源项目保持免费。
- 对于大型企业的专业用途,它需要付费订阅(专业版、团队版或商业版),每月只需 5 美元。
- 这些条款的生效日期为 2021 年 8 月 31 日。对于需要付费订阅才能使用 Docker Desktop 的用户,有宽限期至 2022 年 1 月 31 日。
- Docker 专业版和团队版订阅现已包含 Docker Desktop 的商业用途。
- 现有的 Docker Free 订阅已更名为 Docker Personal。
- 对 Docker Engine 或任何其他上游开源 Docker 或 Moby 项目无任何更改。
要了解这些更改如何影响您,请阅读常见问题解答 (FAQs)。如需更多信息,请参阅Docker 订阅概述。
更新组件
- Compose V2 RC2
- 修复了
compose down
项目名称大小写不敏感问题。参见 docker/compose-cli#2023 - 修复了非标准化项目名称问题。
- 修复了部分引用时的端口合并问题。
- 修复了
- Kubernetes 1.21.4
错误修复和次要更改
适用于 Mac
- 修复了通过 Git URL 构建时无法使用 SSH 的错误。修复了 for-mac#5902
适用于 Windows
- 修复了 CLI 工具在 WSL 2 分发版中不可用的错误。
- 修复了由于
panic.log
上的访问权限问题导致从 Linux 容器切换到 Windows 容器时出错的问题。for-win#11899