{"id":1457,"date":"2024-11-21T14:48:12","date_gmt":"2024-11-21T14:48:12","guid":{"rendered":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/2024\/11\/21\/what-are-the-latest-docker-desktop-enterprise-grade-performance-optimizations\/"},"modified":"2024-11-21T14:48:12","modified_gmt":"2024-11-21T14:48:12","slug":"what-are-the-latest-docker-desktop-enterprise-grade-performance-optimizations","status":"publish","type":"post","link":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/2024\/11\/21\/what-are-the-latest-docker-desktop-enterprise-grade-performance-optimizations\/","title":{"rendered":"What Are the Latest Docker Desktop Enterprise-Grade Performance Optimizations?"},"content":{"rendered":"<p><strong>Key highlights:<\/strong><\/p>\n<p><a href=\"https:\/\/www.docker.com\/#boost-performance-Docker-VMM\">Boost performance with Docker VMM on Apple Silicon Mac<\/a><\/p>\n<p><a href=\"https:\/\/www.docker.com\/#Windows-on-Arm\">Docker Desktop for Windows on Arm <\/a><\/p>\n<p><a href=\"https:\/\/www.docker.com\/#Synchronized-file-shares\">Synchronized file shares<\/a><\/p>\n<p><a href=\"https:\/\/www.docker.com\/#Docker-Desktop-on-RHEL\">GA for Docker Desktop on Red Hat Enterprise Linux (RHEL)<\/a><\/p>\n<p><a href=\"https:\/\/www.docker.com\/#Continuous-improvements\">Continuous performance improvements in every Docker Desktop release<\/a><\/p>\n<p>At Docker, we\u2019re continuously enhancing Docker Desktop to meet the evolving needs of enterprise users. Since <a href=\"https:\/\/www.docker.com\/blog\/docker-desktop-4-23\/\" target=\"_blank\" rel=\"noopener\">Docker Desktop 4.23<\/a>, where we reduced startup time by 75%, we\u2019ve made significant investments in both performance and stability. These improvements are designed to deliver a faster, more reliable experience for developers across industries. (<a href=\"https:\/\/www.docker.com\/blog\/dockers-developer-innovation-unveiling-performance-milestones\/\" target=\"_blank\" rel=\"noopener\">Read more about our previous performance milestones<\/a>.)<\/p>\n<p>In this post, we walk through the latest performance enhancements.<\/p>\n<h2 class=\"wp-block-heading\">Latest performance enhancements<\/h2>\n<h3 class=\"wp-block-heading\">Boost performance with Docker VMM on Apple Silicon Mac<\/h3>\n<p>Apple Silicon Mac users, we\u2019re excited to introduce <a href=\"https:\/\/docs.docker.com\/desktop\/features\/vmm\/\" target=\"_blank\" rel=\"noopener\">Docker Virtual Machine Manager<\/a> (Docker VMM) \u2014 a powerful new virtualization option designed to enhance performance for Docker Desktop on M1 and M2 Macs. Currently in beta, Docker VMM gives developers a faster, more efficient alternative to the existing Apple Virtualization Framework for many workflows (Figure 1). Docker VMM is available starting in the <a href=\"https:\/\/www.docker.com\/blog\/docker-desktop-4-35\/\" target=\"_blank\" rel=\"noopener\">Docker Desktop 4.35<\/a> release.<\/p>\n<p><a href=\"https:\/\/www.docker.com\/wp-content\/uploads\/2024\/11\/F1-Docker-VMM.png\" target=\"_blank\" rel=\"noopener\"><\/a><strong>Figure 1:<\/strong> Docker virtual machine options.<\/p>\n<h4 class=\"wp-block-heading\">Why try Docker VMM?<\/h4>\n<p>If you\u2019re running native ARM-based images on Docker Desktop, Docker VMM offers a performance boost that could make your development experience smoother and more efficient. With Docker VMM, you can:<\/p>\n<p><strong>Experience faster operations<\/strong>: Docker VMM shows improved speeds on essential commands like git status and others, especially when caches are built up. In our benchmarks, Docker VMM eliminates certain slowdowns that can occur with the Apple Virtualization framework.<\/p>\n<p><strong>Enjoy flexibility<\/strong>: Not sure if Docker VMM is the right fit? No problem! Docker VMM is still in beta, so you can switch back to the Apple Virtualization framework at any time and try Docker VMM again in future releases as we continue optimizing it.<\/p>\n<h4 class=\"wp-block-heading\">What about emulated Intel images?<\/h4>\n<p>If you\u2019re using Rosetta to emulate Intel images, Docker VMM may not be the ideal choice for now, as it currently doesn\u2019t support Rosetta. For workflows requiring Intel emulation, the Apple Virtualization framework remains the best option, as Docker VMM is optimized for native Arm binaries.<\/p>\n<h4 class=\"wp-block-heading\">Key benchmarks: Real-world speed gains<\/h4>\n<p>Our testing reveals significant improvements when using Docker VMM for common commands, including git status:<\/p>\n<p><strong>Initial git status<\/strong>: Docker VMM outperforms, with the first run significantly faster compared to the Apple Virtualization framework (Figure 2).<\/p>\n<p><strong>Subsequent git status<\/strong>: With Docker VMM, subsequent runs are also speedier due to more efficient caching (Figure 3).<\/p>\n<p>With Docker VMM, you can say goodbye to frustrating delays and get a faster, more responsive experience right out of the gate.<\/p>\n<p><a href=\"https:\/\/www.docker.com\/wp-content\/uploads\/2024\/11\/F2-git-status-times-cold.png\" target=\"_blank\" rel=\"noopener\"><\/a><strong>Figure 2: <\/strong>Initial git status times.<\/p>\n<p><a href=\"https:\/\/www.docker.com\/wp-content\/uploads\/2024\/11\/F3-git-status-times-warm.png\" target=\"_blank\" rel=\"noopener\"><\/a><strong>Figure 3:<\/strong> Subsequent git status times.<\/p>\n<h4 class=\"wp-block-heading\">Say goodbye to QEMU<\/h4>\n<p>For users who may have relied on QEMU, note that we\u2019re transitioning it to legacy support. Docker VMM and Apple Virtualization Framework now provide superior performance options, optimized for the latest Apple hardware.<\/p>\n<h3 class=\"wp-block-heading\">Docker Desktop for Windows on Arm<\/h3>\n<p>For specific workloads, particularly those involving parallel computing or Arm-optimized tasks, Arm64 devices can offer significant performance benefits. With Docker Desktop now supporting Windows on Arm, developers can take advantage of these performance boosts while maintaining the familiar Docker Desktop experience, ensuring smooth, efficient operations on this architecture.<\/p>\n<h3 class=\"wp-block-heading\">Synchronized file shares<\/h3>\n<p>Unlike traditional file-sharing mechanisms that can suffer from performance degradation with large projects or frequent file changes, the <a href=\"https:\/\/docs.docker.com\/desktop\/synchronized-file-sharing\/\" target=\"_blank\" rel=\"noopener\">synchronized file shares<\/a> feature offers a more stable and performant alternative. It uses efficient synchronization processes to ensure that changes made to files on the host are rapidly reflected in the container, and vice versa, without the bottlenecks or slowdowns experienced with older methods.<\/p>\n<p>This feature is a major performance upgrade for developers who work with shared files between the host and container. It reduces the performance issues related to intensive file system operations and enables smoother, more responsive development workflows. Whether you\u2019re dealing with frequent file changes or working on large, complex projects, synchronized file sharing improves efficiency and ensures that your containers and host remain in sync without delays or excessive resource usage.<\/p>\n<p>Key highlights of synchronized file sharing include:<\/p>\n<p><strong>Selective syncing: <\/strong>Developers can choose specific directories to sync, avoiding unnecessary overhead from syncing unneeded files or directories.<\/p>\n<p><strong>Faster file changes: <\/strong>It significantly reduces the time it takes for changes made in the host environment to be recognized and applied within containers.<\/p>\n<p><strong>Improved performance with large projects: <\/strong>This feature is especially beneficial for large projects with many files, as it minimizes the file-sharing latency that often accompanies such setups.<\/p>\n<p><strong>Cross-platform support: <\/strong>Synchronized file sharing is supported on both macOS and Windows, making it versatile across platforms and providing consistent performance.<\/p>\n<p>The synchronized file shares feature is available in <a href=\"https:\/\/www.docker.com\/blog\/docker-desktop-4-27\/\" target=\"_blank\" rel=\"noopener\">Docker Desktop 4.27<\/a> and newer releases.<\/p>\n<h3 class=\"wp-block-heading\">GA for Docker Desktop on Red Hat Enterprise Linux (RHEL)<\/h3>\n<p><a href=\"https:\/\/www.redhat.com\/en\/technologies\/linux-platforms\/enterprise-linux\" target=\"_blank\" rel=\"noopener\">Red Hat Enterprise Linux (RHEL)<\/a> is known for its high-performance capabilities and efficient resource utilization, which is essential for developers working with resource-intensive applications. <a href=\"https:\/\/docs.docker.com\/desktop\/setup\/install\/linux\/rhel\/\" target=\"_blank\" rel=\"noopener\">Docker Desktop on RHEL<\/a> enables enterprises to fully leverage these optimizations, providing a smoother, faster experience from development through to production. Moreover, RHEL\u2019s robust security framework ensures that Docker containers run within a highly secure, certified operating system, maintaining strict security policies, patch management, and compliance standards \u2014 vital for industries like finance, healthcare, and government.<\/p>\n<h3 class=\"wp-block-heading\">Continuous performance improvements in every Docker Desktop release<\/h3>\n<p>At Docker, we are committed to delivering continuous performance improvements with every release. Recent updates to <a href=\"https:\/\/docs.docker.com\/desktop\/release-notes\/\" target=\"_blank\" rel=\"noopener\">Docker Desktop<\/a> have introduced the following optimizations across file sharing and network performance:<\/p>\n<p><strong>Advanced VirtioFS optimizations:<\/strong> The performance journey continued in <a href=\"https:\/\/www.docker.com\/blog\/docker-desktop-4-33\/\" target=\"_blank\" rel=\"noopener\">Docker Desktop 4.33<\/a> with further fine-tuning of VirtioFS. We increased the directory cache timeout, optimized host change notifications, and removed extra FUSE operations related to security.capability attributes. Additionally, we introduced an API to clear caches after container termination, enhancing overall file-sharing efficiency and container lifecycle management.<\/p>\n<p><strong>Faster read and write operations on bind mounts. <\/strong>In <a href=\"https:\/\/www.docker.com\/blog\/docker-desktop-4-32\/\" target=\"_blank\" rel=\"noopener\">Docker Desktop 4.32<\/a>, we further enhanced VirtioFS performance by optimizing read and write operations on bind mounts. These changes improved I\/O throughput, especially when dealing with large files or high-frequency file operations, making Docker Desktop more responsive and efficient for developers.<\/p>\n<p><strong>Enhanced caching for faster performance:<\/strong> Continuing with performance gains, <a href=\"https:\/\/www.docker.com\/blog\/docker-desktop-4-31\/\" target=\"_blank\" rel=\"noopener\">Docker Desktop 4.31<\/a> brought significant improvements to VirtioFS file sharing by extending attribute caching timeouts and improving invalidation processes. This reduced the overhead of constant file revalidation, speeding up containerized applications that rely on shared files.<\/p>\n<h2 class=\"wp-block-heading\">Why these updates matter for you<\/h2>\n<p>Each update to Docker Desktop is focused on improving speed and reliability, ensuring it scales effortlessly with your infrastructure. Whether you\u2019re using RHEL, Apple Silicon, or Windows Arm, these performance optimizations help you work faster, reduce downtime, and boost productivity. Stay current with the latest updates to keep your development environment running at peak efficiency.<\/p>\n<h2 class=\"wp-block-heading\">Share your feedback and help us improve<\/h2>\n<p>We\u2019re always looking for ways to enhance Docker Desktop and make it the best tool for your development needs. If you have feedback on performance, ideas for improvement, or issues you\u2019d like to discuss, we\u2019d love to hear from you. If you have feedback on performance, ideas for improvement, or issues you\u2019d like to discuss, we\u2019d love to hear from you. Feel free to reach out and schedule time to chat directly with a Docker Desktop Product Manager via <a href=\"https:\/\/calendly.com\/kat-tomrushka\/30min?month=2024-09\" target=\"_blank\" rel=\"noopener\">Calendly<\/a>.<\/p>\n<h2 class=\"wp-block-heading\">Learn more<\/h2>\n<p><a href=\"https:\/\/www.docker.com\/blog\/november-2024-updated-plans-announcement\/\" target=\"_blank\" rel=\"noopener\">Announcing Upgraded Docker Plans: Simpler, More Value, Better Development and Productivity\u00a0<\/a><\/p>\n<p>Subscribe to the <a href=\"https:\/\/www.docker.com\/newsletter-subscription\/\" target=\"_blank\" rel=\"noopener\">Docker Newsletter<\/a>.\u00a0<\/p>\n<p>Get the latest release of <a href=\"https:\/\/www.docker.com\/products\/docker-desktop\/\" target=\"_blank\" rel=\"noopener\">Docker Desktop<\/a>.<\/p>\n<p>Have questions? The <a href=\"https:\/\/www.docker.com\/community\/\" target=\"_blank\" rel=\"noopener\">Docker community is here to help<\/a>.<\/p>\n<p>New to Docker? <a href=\"https:\/\/docs.docker.com\/desktop\/\" target=\"_blank\" rel=\"noopener\">Get started<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Key highlights: Boost performance with Docker VMM on Apple Silicon Mac Docker Desktop for Windows on Arm Synchronized file shares [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[4],"tags":[],"class_list":["post-1457","post","type-post","status-publish","format-standard","hentry","category-docker"],"_links":{"self":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts\/1457","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/comments?post=1457"}],"version-history":[{"count":0,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts\/1457\/revisions"}],"wp:attachment":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/media?parent=1457"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/categories?post=1457"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/tags?post=1457"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}