Docker 启用全新功能,文件共享时间大幅减少 98%


近日 Docker 更新了 macOS 端的桌面应用,在新版本中引入了一项名为 VirtioFS 的实验性功能,根据官方介绍,开启这项功能后可以使文件共享所花费的时间大幅减少 98%。 要了解这个功能为何带来了大幅的性能提升,还得先了解常见的开发者工作流程。开发者在使用 Symfony 或 React 等技术时,常见的工作流程是编辑位于 macOS 主机上的源代码,同时在 Docker 容器中运行应用程序本身,源代码通过使用 Docker 数据卷在主机和容器之间共享。 因此对位于主机系统上的文件所做的修改必须快速、可靠地同步到容器文件系统中。当考虑到现代依赖项管理可以很容易地将数以万计的文件带入一个项目时,文件共享性能的优劣将影响整个系统性能的发挥,而目前默认所采用的 gRPC-FUSE 就会导致性能不佳。 最近 Docker Desktop for Mac 的,尤其是新增了对 VirtioFS 的支持能够缓解了这个问题,给文件系统性能带来了巨大的改善。具体来说,在 Docker Desktop 4.6 上启用 VirtioFS 之后,开发人员在测试中得出了以下结果: 完成 MariaDB 导入所需的时间缩短了 98% (从 33 分钟降低至 42 秒) 完成 284MB 的 MySQL 导入所需的时间缩短了 90%(从 3 分 16 秒降低至 18 秒); 在一个大型代码库中运行 composer install 所需的时间缩短了 87%(从 1 分 27 秒降低至 11 秒); 启动一个单体 Typescript 应用程序的时间缩短了 80%(从1 分 30 秒降低至 18 秒); 新版本的这个变化使完成文件系统操作的时间最高缩短了 98%,对于开发者来说,速度上的大幅提升意味着减少了等待文件系统操作完成的时间(或建立特定于项目的特殊方法来提高性能),而有更多的时间专注于项目的开发。 如何启用 VirtioFS 注:VirtioFS 仅适用于使用以下 macOS 版本的用户 macOS 12.2 及以上版本(M1 系列处理器) macOS 12.3 及以上版本(英特尔处理器) 在 Docker Desktop 中启用 VirtioFS: 将 Docker Desktop 升级至 4.6 版本,可在此; 导航到 “偏好” “实验性功能” 选择 "启用 VirtioFS 加速的目录共享" 选项 点击 "应用和重启" 即可; VirtioFS 目前还处于实验性阶段,因此在使用过程中难免会遇到一些问题,用户可以将发现的任何问题上报至 Docker Mac 文件系统性能线程中。目前一个已知的问题就是启用了 VirtioFS 的容器在运行时可能会因权限错误而失败。

相关文章

2022-04-01

Docker 完成了 1.05 亿美元的巨额 C 轮融资。本轮融资由新投资者 Bain Capital Ventures(BCV)领投,新投资者 Atlassian Ventures、Citi Ventures、Vertex Ventures 和 Four Rivers,以及现有投资者 Benchmark、Insight Partners 和 Tribe Capital 参投。 作为交易

2022-06-04

在未来的版本中继续提供更多的价值。对于 2.0,此升级启用了以下增强功能: Lucene 9.1 提供的性能优化包括将多维点的索引速度提高了 10–15%。 Java Jigsaw模块支持  意味着在 9.1 版本中,Lucene 具有模块描述符和依赖

2022-02-22

=Document(text='world')) print(docs.texts) Flow:使用 Kubernetes 和 Docker Compose 运行 Kubernetes:使用 Flow .to_k8s_yaml('./k8s_flow') 从一个 Flow 中生成一组部署的 YAML 文件,然后使用 Kubernetes 和 kubectl 来启动和协调 Executors。Docker Compose: 使用

2022-08-06

(Eclipse) fixed:在没有执行器的情况下将应用程序部署到 docker 时避免实时悬停连接尝试 ( #716 ) (Eclipse) fixed:Devtools 与 boot dash docker 的集成被破坏 ( #724 ) (Eclipse) fixed:docker boot dash 的暂停/恢复功能故障 ( #783

2022-03-01

字,支持在主机系统上(不是在 podman machine VM 内)使用 Docker Compose 等工具。另外,podman machine 现在可以在 Windows 上使用 WSL2 作为后端,大大改进了 Podman 对 Windows 的支持。其他更多的功能包括支持从主机挂载卷,计划在 Podman v4

2021-11-09

进,例如记录结构 (record structs)、隐式使用和新的 lambda 功能,同时编译器添加了增量源代码生成器。 F# 6 新特性包括基于 task 的异步、管道调试和多项性能改进。Visual Basic 在 Visual Studio 体验和 Windows Forms 项目打开体验方

2022-09-07

install模块,不用再手工导入数据库文件了 [新增] 新增docker部署,部署方式见README.md [优化] 优化路由设置 [优化] 优化专题页显示样式 [优化] 优化前台tips函数逻辑 [修改] 默认关闭调试模式 [修改] 默认绑定ip改为0.0.0.0 [

2022-07-31

ning(警告),但将高亮显示样式更改为 Error(错误)。 Docker 复制 Docker 镜像 现在可以使用新的 Copy Docker Image(复制 Docker 镜像)操作将镜像从一个 Docker 守护进程复制到另一个,该操作会将镜像保存到文件中,然后将其推送

2022-03-09

重置;在 Firefox 98 的 Linux 版本中,Wayland 支持默认并没有启用。有需要的用户可以手动启用 Wayland 支持;这个版本将通过只使用 webRequest 阻塞调用来改善启动期间加载附加组件的情况,此前 webRequest 非阻塞调用会导致附加组件提

2022-05-24

Pigsty v1.5 现已正式发布。此版本包含完整的 Docker 支持,无数使用数据库的软件均可开箱即用。其他改进包括:基础设施自我监控、更好的冷备份支持、兼容 Redis 与 GP 的新 CMDB、ETCD 作为高可用 DCS、更好的日志收集与呈现。Github

2022-06-04

Docker Desktop 4.9.0 正式发布,更新内容如下: 新内容 在主页上增加了以下内容的指南:Elasticsearch、MariaDB、Memcached、MySQL、RabbitMQ 和 Ubuntu 在 Docker Dashboard 上添加了一个页脚,包含了关于 Docker 桌面更新状态和 Docker 引擎统计

2022-07-15

今年二月份的时候,Google 推出了 “全新” 的操作系统 chromeOS Flex,在经过五个多月的早期预览阶段后,chromeOS Flex 在今天推出首个稳定版本(版本 103),稳定版本意味着所有对这个系统感兴趣的用户都可以安装使用了,可以满

2022-06-09

虽然 Docker 已支持在 AArch64 Linux 上运行,但主线 Linux 内核的默认配置“defconfig”缺少一些允许其开箱即用运行的功能。一位 Arm 工程师提议调整这些默认值,以更轻松、直接地在 64 位 Arm 上运行 Docker。 用于构建内核主线的 Linux

2022-07-02

排序 (v3.0.3) 新增:自定义模板支持{{APP名称}}标签(仅启用异步获取App列表时有值) (v3.0.3) 修复:v3.0.2来电转发卡槽信息获取失败 (v3.0.3) 新增:按需启用Cactus增强保活措施的开关【开启后可能会增加耗电】 (v3.0.3) 优