Docker Desktop release – Docker https://www.docker.com Thu, 16 May 2024 16:08:53 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.3 https://www.docker.com/wp-content/uploads/2024/02/cropped-docker-logo-favicon-32x32.png Docker Desktop release – Docker https://www.docker.com 32 32 Docker Desktop 4.30: Proxy Support with SOCKS5, NTLM and Kerberos, ECI for Build Commands, Build View Features, and Docker Desktop on RHEL Beta https://www.docker.com/blog/docker-desktop-4-30/ Tue, 14 May 2024 12:48:12 +0000 https://www.docker.com/?p=54707 In this post:

Docker Desktop is elevating its capabilities with crucial updates that streamline development workflows and enhance security for developers and enterprises alike. Key enhancements in Docker Desktop 4.30 include improved SOCKS5 proxy support for seamless network connectivity, advanced integration with NTLM and Kerberos for smoother authentication processes, and extended Enhanced Container Isolation (ECI) to secure build environments. Additionally, administrative ease is boosted by simplifying sign-in enforcement through familiar system settings, and WSL 2 configurations have been optimized to enhance performance.

In this blog post, we’ll describe these enhancements and also provide information on future features and available beta features such as Docker Desktop on Red Hat Enterprise Linux (RHEL). Read on to learn more about how these updates are designed to maximize the efficiency and security of your Docker Desktop experience.

Docker Desktop 4.30 illustration showing Docker logo on desktop display with flames

Enhancing connectivity with SOCKS proxy support in Docker Desktop

Docker Desktop now supports SOCKS5 proxies, a significant enhancement that broadens its usability in corporate environments where SOCKS proxy is the primary means for internet access or is used to connect to company intranets. This new feature allows users to configure Docker Desktop to route HTTP/HTTPS traffic through SOCKS proxies, enhancing network flexibility and security.

Users can easily configure Docker Desktop to access the internet using socks5:// proxy URLs. This ensures that all outgoing requests, including Docker pulls and other internet access on ports 80/443, are routed through the chosen SOCKS proxy.

  • The proxy configuration can manually be specified in Settings > Resources > Proxies > Manual proxy configuration, by adding the socks5://host:port URL in the Secure Web Server HTTPS box.
  • Automatic detection of SOCKS proxies specified in .pac files is also supported.

This advancement not only improves Docker Desktop’s functionality for developers needing robust proxy support but also aligns with business needs for secure and versatile networking solutions. This new feature is available to Docker Business subscribers. 

Visit Docker Docs for detailed information on setting up and utilizing SOCKS proxy support in Docker Desktop.

Seamless integration of Docker Desktop with NTLM and Kerberos proxies

Proxy servers are vital in corporate networks, ensuring security and efficient traffic management. Recognizing their importance, Docker Desktop has evolved to enhance integration with these secured environments, particularly on Windows. Traditional basic authentication often presented challenges, such as repeated login prompts and security concerns. 

Docker Desktop 4.30 introduces major upgrades by supporting advanced authentication protocols such as Kerberos and NTLM, which streamline the user experience by handling the proxy handshake invisibly and reducing interruptions.

These updates simplify workflows and improve security and performance, allowing developers and admins to focus more on their tasks and less on managing access issues. The new version promises a seamless, secure, and more efficient interaction with corporate proxies, making Docker Desktop a more robust tool in today’s security-conscious corporate settings.

For a deeper dive into how Docker Desktop is simplifying proxy navigation and enhancing your development workflow within the Docker Business subscription, be sure to read the full blog post.

Docker Desktop with Enhanced Container Isolation for build commands

Docker Desktop’s latest update marks an important advancement in container security by extending Enhanced Container Isolation (ECI) to docker build and docker buildx commands. This means docker build/buildx commands run in rootless mode when ECI is enabled, thereby protecting the host machine against malicious containers inadvertently used as dependencies while building container images.

This update is significant as it addresses previous limitations where ECI protected containers initiated with docker run but did not extend the same level of security to containers created during the build processes — unless the build was done with the docker-container build driver. 

Prior limitations:

  • Limited protection: Before this update, while ECI effectively safeguarded containers started with docker run, those spawned by docker build or docker buildx commands, using the default “docker” build driver, did not benefit from this isolation, posing potential security risks.
  • Security vulnerabilities: Given the nature of build processes, they can be susceptible to various security vulnerabilities, which previously might not have been adequately mitigated. This gap in protection could expose Docker Desktop users to risks during the build phase.

Enhancements in Docker Desktop 4.30:

  • Rootless build operations: By extending ECI to include build commands, Docker Desktop now ensures that builds run rootless, significantly enhancing security.
  • Comprehensive protection: This extension of ECI now includes support for docker builds on all platforms (Mac, Windows, Hyper-V, Linux), except Windows WSL, ensuring that all phases of container operation — both runtime and build — are securely isolated.

This development not only strengthens security across Docker Desktop’s operations but also aligns with Docker’s commitment to providing comprehensive security solutions. By safeguarding the entire lifecycle of container management, Docker ensures that users are protected against potential vulnerabilities from development to deployment.

To understand the full scope of these changes and how to leverage them within your Docker Business Subscription, visit the Enhanced Container Isolation docs for additional guidance.

Docker Desktop for WSL 2: A leap toward simplification and speed

We’re excited to announce an update to Docker Desktop that enhances its performance on Windows Subsystem for Linux (WSL 2) by reducing the complexity of the setup process. This update simplifies the WSL 2 setup by consolidating the previously required two Docker Desktop WSL distributions into one.

The simplification of Docker Desktop’s WSL 2 setup is designed to make the codebase easier to understand and maintain, improving our ability to handle failures more effectively. Most importantly, this change will also enhance the startup speed of Docker Desktop on WSL 2, allowing you to get to work faster than ever before.

What’s changing?

Phase 1: Starting with Docker Desktop 4.30, we are rolling out this update incrementally on all fresh installations. If you’re setting up Docker Desktop for the first time, you’ll experience a more streamlined installation process with reduced setup complexity right away.

Phase 2: We plan to introduce data migration in a future update, further enhancing the system’s efficiency and user experience. This upcoming phase will ensure that existing users also benefit from these improvements without any hassle.

To take advantage of phase 1, we encourage all new and existing users to upgrade to Docker Desktop 4.30. By doing so, you’ll be prepared to seamlessly transition to the enhanced version as we roll out subsequent phases.

Keep an eye out for more updates as we continue to refine Docker Desktop and enrich your development experience. 

Enhance your Docker Builds experience with new Docker Desktop Build features

Docker Desktop’s latest updates bring significant improvements to the Builds View, enhancing both the management and transparency of your build processes. These updates are designed to make Docker Desktop an indispensable tool for developers seeking efficiency and detailed insights into their builds.

Bulk delete enhancements:

  • Extended bulk delete capability: The ability to bulk delete builds has been expanded beyond the current page. Now, by defining a search or query, you can effortlessly delete all builds that match your specified criteria across multiple pages.
  • Simplified user experience: With the new Select all link next to the header, managing old or unnecessary builds becomes more straightforward, allowing you to maintain a clean and organized build environment with minimal effort (Figure 1).
Screenshot of Docker Desktop Build history page showing "Select all" option.
Figure 1: Docker Desktop Build history view displaying the new Select All or Select Various builds to take action.

Build provenance and OpenTelemetry traces:

  • Provenance and dependency insights: The updated Builds View now includes an action menu that offers access to the dependencies and provenance of each build (Figure 2). This feature enables access to the origin details and the context of the builds for deeper inspection, enhancing security and compliance.
  • OpenTelemetry integration: For advanced debugging, Docker Desktop lets you download OpenTelemetry traces to inspect build performance in Jaeger. This integration is crucial for identifying and addressing performance bottlenecks efficiently. Also, depending on your build configuration, you can now download the provenance to inspect the origin details for the build.
Screenshot of Docker Desktop Builds View showing Dependencies, Configuration, and Build results.
Figure 2: Docker Desktop Builds View displaying Dependencies and Build results in more detail.

Overall, these features work together to provide a more streamlined and insightful build management experience, enabling developers to focus more on innovation and less on administrative tasks. 

For more detailed information on how to leverage these new functionalities and optimize your Docker Desktop experience, make sure to visit Builds documentation.

Reimagining Dev Environments: Streamlining development workflows

We are evolving our approach to development environments as part of our continuous effort to refine Docker Desktop and enhance user experience. Since its launch in 2021, Docker Desktop’s Dev Environments feature has been a valuable tool for developers to quickly start projects from GitHub repositories or local directories. However, to better align with our users’ evolving needs and feedback, we will be transitioning from the existing Dev Environments feature to a more robust and integrated solution in the near future. 

What does that mean to those using Dev Environments today? The feature is unchanged. Starting with the Docker Desktop 4.30 release, though, new users trying out Dev Environments will need to explicitly turn it on in Beta features settings. This change is part of our broader initiative to streamline Docker Desktop functionalities and introduce new features in the future (Figure 3).

Screenshot of Docker Desktop Settings page showing features in development with Beta and experimental features.
Figure 3: Docker Desktop Settings page displaying available features in development and beta features.

We understand the importance of a smooth transition and are committed to providing detailed guidance and support to our users when we officially announce the evolution of Dev Environments. Until then, you can continue to leverage Dev Environments and look forward to additional functionality to come.

Docker Desktop support for Red Hat Enterprise Linux beta

As part of Docker’s commitment to broadening its support for enterprise-grade operating systems, we are excited to announce the expansion of Docker Desktop to include compatibility with Red Hat Enterprise Linux (RHEL) distributions, specifically versions 8 and 9. This development is designed to support our users in enterprise environments where RHEL is widely used, providing them with the same seamless Docker experience they expect on other platforms.

To provide feedback on this new beta functionality, engage your Account Executive or join the Docker Desktop Preview Program.

As Docker Desktop continues to evolve, the latest updates are set to significantly enhance the platform’s efficiency and security. From integrating advanced proxy support with SOCKS5, NTLM, and Kerberos to streamlining administrative processes and optimizing WSL 2 setups, these improvements are tailored to meet the needs of modern developers and enterprises. 

With the addition of exciting upcoming features and beta opportunities like Docker Desktop on Red Hat Enterprise Linux, Docker remains committed to providing robust, secure, and user-friendly solutions. Stay connected with us to explore how these continuous advancements can transform your development workflows and enhance your Docker experience.

Learn more

]]>
Next-Level Error Handling: How Docker Desktop 4.29 Aims to Simplify Developer Challenges https://www.docker.com/blog/next-level-error-handling/ Wed, 10 Apr 2024 14:22:38 +0000 https://www.docker.com/?p=53632 Imagine you’re deep in the zone, coding away on a groundbreaking project. The ideas are flowing, the coffee’s still warm, and then — bam! An error message pops up, halting your progress like a red light at a busy intersection. We’ve all been there, staring at cryptic codes or vague advice, feeling more like ancient mariners navigating by the stars than modern developers armed with cutting-edge technology.

This scenario is all too familiar in the world of software development. With an arsenal of tools, languages, platforms, and security protocols at our disposal, the complexity of our work environment has skyrocketed. For developers charting the unexplored territories of innovation, encountering errors can feel like facing a tempest with a leaky boat. But fear not, for Docker Desktop sails to the rescue with a lighthouse’s guidance: a new, intuitive prompt that sheds light on the mysterious seas of error messages.

2400x1260 4.29 enhancing docker desktop advanced error management

Enhancing Docker Desktop with advanced error management

In our Docker Desktop 4.29 release, we’ve embarked on an ambitious journey to elevate the user experience by fundamentally redefining error management. This initiative goes far beyond simple bug fixes; it aims to create a development environment that is not only more efficient and reliable but also more satisfying for developers. At the heart of these enhancements is our unwavering commitment to empowering users and providing them with the tools they need to recover swiftly from any setbacks they may encounter.

This strategic update is built around a core objective: pivoting Docker Desktop toward a model that supports self-service troubleshooting and fosters user resilience. By reimagining errors as opportunities for learning and growth, we’re doing more than just solving technical problems. We’re transforming how developers interact with Docker Desktop, enabling them to overcome challenges confidently and enhance their skills in the process. The changes introduced in Docker Desktop 4.29 signify a significant leap forward in our mission to address user issues and enhance their ability to navigate the complexities of software development with ease and efficiency.

Bridging the gap: From frustration to resolution

Previously, encountering an error in Docker Desktop could feel like reaching a dead end. Users were often greeted with cryptic error codes or minimal guidance, lacking the necessary context for a swift resolution. This outdated approach impeded user experience, efficiency, and overall satisfaction. The contrast with our new system couldn’t be more stark: Users now receive actionable insights when an error arises, ensuring every issue is a step toward a solution (Figure 1).

dd 4 29 error messages f1
Figure 1: Previous Docker Desktop error message: 4.28 and earlier did not provide intuitive instructions on how to remediate.

Empowering users, reducing support tickets

This latest update introduces an intuitive error management interface, direct diagnostic uploads, and self-service remediation options. These enhancements make troubleshooting more accessible and reduce the need for support inquiries, improving Docker Desktop’s usability and reliability specifically in the following ways: 

1. Enhanced error interface: Introducing an updated error interface that combines raw error codes with helpful explanatory text, including links for streamlined support. This not only makes troubleshooting more accessible but also significantly enhances the support process.

2. Direct diagnostic uploads: Users can now easily collect and upload diagnostics directly from the error screen. This feature enhances our support and troubleshooting capabilities, making it easier for users to get the help they need without navigating away from the error context.

3. Reset and exit options: Recognizing that some situations may require more drastic measures, the updated error interface also allows users to reset the application to factory settings or exit the application directly from the error screen (Figure 2).

dd 4 29 error messages f2
Figure 2: New Docker Desktop error message: 4.29 release providing remediation information and diagnostic sharing options.

4. Self-Service Options: For errors within the user’s ability to remedy, the error message now provides a user-friendly technical error description accompanied by clear, actionable buttons for immediate remediation. This reduces the need for support tickets and fosters a sense of user empowerment.

dd 4 29 error messages f3
Figure 3: Error message displaying self-service remediation options.

Conclusion

This update is evidence of our continuous focus on refining and enhancing our Docker Desktop users’ experiences — and there are more updates to come. We’re committed to making every aspect of application development as intuitive and empowering as possible. Look for further improvements as we continue to advance the state of user support and error remediation that supports sky-rocketing your innovation trajectory and productivity.

Learn more

]]>
Docker Desktop 4.29: Docker Socket Mount Permissions in ECI, Advanced Error Management, Moby 26, and New Beta Features  https://www.docker.com/blog/docker-desktop-4-29/ Wed, 10 Apr 2024 14:20:02 +0000 https://www.docker.com/?p=53616 The release of Docker Desktop 4.29 introduces enhancements to secure and streamline the development process and to improve error management and workflow efficiency. With the integration of Enhanced Container Isolation (ECI) with Docker socket mount permissions, the debut of Moby 26 within Docker Desktop, and exciting features such as Docker Compose enhancements via synchronized file shares reaching beta release, we’re equipping developers with the essential resources to tackle the complexities of modern development head-on.

Dive into the details to discover these new enhancements and get a sneak peek at exciting advancements currently in beta release.

In this post:

2400x1260 4.29 docker desktop release

Enhanced Container Isolation with Docker socket mount permissions 

We’re pleased to unveil a new feature in the latest Docker Desktop release, now in General Availability to Business subscribers, that further improves Desktop’s Enhanced Container Isolation (ECI) mode: Docker socket mount permissions. This update blends robust security with the flexibility you love, allowing you to enjoy key development tools like Testcontainers with the peace of mind provided by ECI’s unprivileged containers. Initially launched in beta with Docker Desktop 4.27, this update moves the ECI Docker socket mount permissions feature to General Availability (GA), demonstrating our commitment to making Docker Desktop the best modern application development platform.

The Docker Engine socket, a crucial component for container management, has historically been a vector for potential security risks. Unauthorized access could enable malicious activities, such as supply chain attacks. However, legitimate use cases, like the Testcontainers framework, require socket access for operational tasks.

With ECI, Docker Desktop enhances security by default, blocking unapproved bind-mounting of the Docker Engine socket into containers. Yet, recognizing the need for flexibility, we introduce controlled access through admin-settings.json configuration. This allows specified images to bind-mount the Docker socket, combining security with functionality. 

Key features include:

  • Selective permissions: Admins can now specify which container images can access the Docker socket through a curated imageList, ensuring that only trusted containers have the necessary permissions.
  • Command restrictions: The commandList feature further tightens security by limiting the Docker commands approved containers can execute, acting as a secondary defense layer.

While we celebrate this release, our journey doesn’t stop here. We’re continuously exploring ways to expand Docker Desktop’s capabilities, ensuring our users can access the most secure, efficient, and user-friendly containerization tools.

Stay tuned for further security enhancements, including our beta release of air-gapped containers. Update to Docker Desktop 4.29 to start leveraging the full potential of Enhanced Container Isolation with Docker socket mount permissions today.

Advanced error management in Docker Desktop 

We’re redefining error management to significantly improve the developer experience. This update isn’t just about fixing bugs; it’s a comprehensive overhaul aimed at making the development process more efficient, reliable, and user-friendly.

Central to this update is our shift toward self-service troubleshooting and resilience, transforming errors from roadblocks into opportunities for growth and learning. The new system presents actionable insights for errors, ensuring developers can swiftly move toward a resolution.

Key enhancements include:

  • An enhanced error interface: Combining error codes with explanatory text and support links, making troubleshooting straightforward.
  • Direct diagnostic uploads: Allowing users to share diagnostics from the error screen, streamlining support. 
  • Reset and exit options: Offering quick fixes directly from the error interface.
  • Self-service remediation: Providing clear, actionable steps for users to resolve issues independently (Figure 1).
docker desktop 4 29 f1
Figure 1: Error message displaying self-service remediation options.

This update marks a significant leap in our commitment to enhancing the Docker Desktop user experience, empowering developers, and reducing the need for support tickets. Read Next-Level Error Handling: How Docker Desktop 4.29 Aims to Simplify Developer Challenges to dive deeper into these enhancements in our blog and discover how Docker Desktop 4.29 is setting a new standard for error management and developer support.

New in Docker Engine: Volume subpath mounts, networking enhancements, BuildKit 0.13, and more 

In the latest Docker Engine update, Moby 26, packaged in Docker Desktop 4.29, introduces several enhancements aimed at enriching the developer experience. Here’s the breakdown of what’s new: 

  • Volume subpath mounts: Responding to widespread user requests, we’ve made it possible to mount a subdirectory as a named volume. This addition enhances flexibility and control over data management within containers. Detailed guidance on specifying these mounts is available in the docs
  • Networking enhancements: Significant improvements have been made to bolster the stability of networking capabilities within the engine, along with preliminary efforts to support future IPv6 enhancements.
  • Integration of BuildKit 0.13: Among other updates, this BuildKit version includes experimental support for Windows Containers, ensuring builds remain dependable and efficient.
  • Streamlined API: Deprecated API versions have been removed, concentrating on quality enhancements and promoting a more secure, reliable environment.
  • Multi-platform image enhancements: In this release, you’ll see an improved docker images UX as we’ve combined image entries for multi-platform images.

Beta release highlights

Docker Debug in Docker Desktop GUI and CLI 

Docker Debug (Beta), a recent addition to Docker Desktop, streamlines the debugging process for developers. This feature, accessible in Docker Pro, Teams, and Business subscriptions, offers a shell for efficiently debugging both local and remote containerized applications — even those that fail to run. With Docker Debug, developers can swiftly pinpoint and address issues, freeing up more time for innovation.

Now, in beta release, Docker Debug introduces comprehensive debugging directly from the Docker Desktop CLI for active and inactive containers alike. Moreover, the Docker Desktop GUI has been enhanced with an intuitive option: Click the toggle in the Exec tab within a container to switch on Debug mode to start debugging with the necessary tools at your fingertips.

docker desktop 4 29 f2
Figure 2: Docker Desktop containers view showcasing debugging a running container with Docker Debug.

To dive into Docker Debug, ensure you’re logged in with your subscription account, then initiate debugging by executing docker debug <Container or Image name> in the CLI or by selecting a container from the GUI container list for immediate debugging from any device local or in the cloud.

Improved volume backup capabilities 

With our latest release, we’re elevating volume backup capabilities in Docker Desktop, introducing an upgraded feature set in beta release. This enhancement directly integrates the Volumes Backup & Share extension directly into Docker Desktop, streamlining your backup processes. 

docker desktop 4 29 f3
Figure 3: Docker Desktop Volumes view showcasing new backup functionality.

This release marks a significant step forward, but it’s just the beginning. We’re committed to expanding these capabilities, adding even more value in future updates. Start exploring the new feature today and prepare for an enhanced backup experience soon.

Support for host network mode on Docker Desktop for Mac and Windows 

Support for host network mode (docker run –net=host), previously limited to Linux users, is now available for Mac and Windows Docker Desktop users, offering enhanced networking capabilities and flexibility.

With host network mode support, Docker Desktop becomes a more versatile tool for advanced networking tasks, such as dynamic network penetration testing, without predefined port mappings. This feature is especially useful for applications requiring the ability to dynamically accept connections on various ports, just as if they were running directly on the host. Features include:

  • Simplified networking: Eases the setup for complex networking tasks, facilitating security testing and the development of network-centric applications.
  • Greater flexibility: Allows containers to use the host’s network stack, avoiding the complexities of port forwarding.
docker desktop 4 29 f4
Figure 4: The host network mode enhancement in Preview Beta reflects our commitment to improving Docker Desktop and is available after authenticating against all Docker subscriptions.

Enhancing security with Docker Desktop’s new air-gapped containers

Docker Desktop’s latest beta feature, air-gapped containers, is now available in version 4.29, reflecting our deep investment in security enhancements. This Business subscription feature empowers administrators to limit container access to network resources, tightening security across containerized applications by: 

  • Restricting network access: Ensuring containers communicate only with approved sources.
  • Customizing proxy rules: Allowing detailed control over container traffic.
  • Enhancing data protection: Preventing unauthorized data transfer in or out of containers.

The introduction of air-gapped containers is part of our broader effort to make Docker Desktop not just a development tool, but an even more secure development environment. We’re excited about the potential this feature holds for enhancing security protocols and simplifying the management of sensitive data.

Compose bind mount support with synchronized file shares 

We’re elevating the Docker Compose experience for our subscribers by integrating synchronized file shares (SFS) directly into Compose. This feature eradicates the sluggishness typically associated with managing large codebases in containers. Formerly known as Mutagen, synchronized file shares enhances bind mounts with native filesystem performance, accelerating file operations by an impressive 2-10x. This leap forward is incredibly impactful for developers handling extensive codebases, effortlessly streamlining their workflow.

With a Docker subscription, you’ll find that Docker Compose and SFS work together seamlessly, automatically optimizing bind mounts to significantly boost synchronization speeds. This integration requires no additional configuration; Compose intelligently activates SFS whenever a bind mount is used, instantly enhancing your development process.

Enabling synchronized file shares in Compose is simple:

  1. Log into Docker Desktop.
  2. Under Settings, navigate to Features in development and choose the Experimental features tab.
  3. Enable Access experimental features and Manage Synchronized file shares with Compose.

Once set up via Docker Desktop settings, these folders act as standard bind mounts with the added benefit of SFS speed enhancements. 

docker desktop 4 29 f5
Figure 5: Docker Desktop settings displaying the option to turn on synchronized file shares with Docker Compose.
docker desktop 4 29 f6
Figure 6: Demonstration of compose up creating and synching shares in the terminal.

If your Compose project relies on a bind mount that could benefit from synchronized file shares, the initial share creation must be done through the Docker Desktop GUI.

Embrace the future of Docker Compose with Docker Desktop’s synchronized file shares and transform your development workflow with unparalleled speed and efficiency.

Try Docker Desktop 4.29 now

Docker Desktop 4.29 introduces updates focused on innovation, security, and enhancing the developer experience. This release integrates community feedback and advances Docker’s capabilities, providing solutions that meet developers’ and businesses’ immediate needs while setting the stage for future features. We advise all Docker users to upgrade to version 4.29. Please note that access to certain features in this release requires authentication and may be contingent upon your subscription tier. We encourage you to evaluate your feature needs and select the subscription level that best suits your requirements.

Join the conversation

Dive into the discussion and contribute to the evolution of Docker Desktop. Use our feedback form to share your thoughts and let us know how to improve the Hardened Desktop features. Your input directly influences the development roadmap, ensuring Docker Desktop meets and exceeds our community and customers’ needs.

Learn more

]]>
Docker Desktop 4.28: Enhanced File Sharing and Security Plus Refined Builds View in Docker Build Cloud https://www.docker.com/blog/docker-desktop-4-28/ Wed, 28 Feb 2024 14:00:00 +0000 https://www.docker.com/?p=52486 Docker Desktop 4.28 introduces updates to file-sharing controls, focusing on security and administrative ease. Responding to feedback from our business users, this update brings refined file-sharing capabilities and path allow-listing, aiming to simplify management and enhance security for IT administrators and users alike.

Along with our investments in bringing access to cloud resources within the local Docker Desktop experience with Docker Build Cloud Builds view, this release provides a more efficient and flexible platform for development teams.

Docker Desktop 4.28

Introducing enhanced file-sharing controls in Docker Desktop Business 

As we continue to innovate and elevate the Docker experience for our business customers, we’re thrilled to unveil significant upgrades to the Docker Desktop’s Hardened Desktop feature. Recognizing the importance of administrative control over Docker Desktop settings, we’ve listened to your feedback and are introducing enhancements prioritizing security and ease of use.

For IT administrators and non-admin users, Docker now offers the much-requested capability to specify and manage file-sharing options directly via Settings Management (Figure 1). This includes:

  • Selective file sharing: Choose your preferred file-sharing implementation directly from Settings > General, where you can choose between VirtioFS, gRPC FUSE, or osxfs. VirtioFS is only available for macOS versions 12.5 and above and is turned on by default.
  • Path allow-listing: Precisely control which paths users can share files from, enhancing security and compliance across your organization.
Screenshot of Docker Desktop showing Synchronized file shares page.
Figure 1: Display of Docker Desktop settings enhanced file-sharing settings.

We’ve also reimagined the Settings > Resources > File Sharing interface to enhance your interaction with Docker Desktop (Figure 2). You’ll notice:

  • Clearer error messaging: Quickly understand and rectify issues with enhanced error messages.
  • Intuitive action buttons: Experience a smoother workflow with redesigned action buttons, making your Docker Desktop interactions as straightforward as possible.
Screenshot of Docker Desktop showing Resources page with options for File Sharing, Synchronized file shares, and Virtual sharing.
Figure 2: Displaying settings management in Docker Desktop to notify business subscribers of their access rights.

These enhancements are not just about improving current functionalities; they’re about unlocking new possibilities for your Docker experience. From increased security controls to a more navigable interface, every update is designed with your efficiency in mind.

Refining development with Docker Desktop’s Builds view update 

Docker Desktop’s previous update introduced Docker Build Cloud integration, aimed at reducing build times and improving build management. In this release, we’re landing incremental updates that refine the Builds view, making it easier and faster to manage your builds.

New in Docker Desktop 4.28:

  • Dedicated tabs: Separates active from completed builds for better organization (Figure 3).
  • Build insights: Displays build duration and cache steps, offering more clarity on the build process.
  • Reliability fixes: Resolves issues with updates for a more consistent experience.
  • UI improvements: Updates the empty state view for a clearer dashboard experience (Figure 4).

These updates are designed to streamline the build management process within Docker Desktop, leveraging Docker Build Cloud for more efficient builds.

Screenshot of Builds view showing tabs for Build history and Active builds.
Figure 3: Dedicated tabs for Build history vs. Active builds to allow more space for inspecting your builds.
Screenshot of Builds view with Active builds tab selected and showing "No builds currently active".
Figure 4: Updated view supporting empty state — no Active builds.

To explore how Docker Desktop and Docker Build Cloud can optimize your development workflow, read our Docker Build Cloud blog post. Experience the latest Builds view update to further enrich your local, hybrid, and cloud-native development journey.

These Docker Desktop updates support improved platform security and a better user experience. By introducing more detailed file-sharing controls, we aim to provide developers with a more straightforward administration experience and secure environment. As we move forward, we remain dedicated to refining Docker Desktop to meet the evolving needs of our users and organizations, enhancing their development workflows and agility to innovate.

Join the conversation and make your mark

Dive into the dialogue and contribute to the evolution of Docker Desktop. Use our feedback form to share your thoughts and let us know how to improve the Hardened Desktop features. Your input directly influences the development roadmap, ensuring Docker Desktop meets and exceeds our community and customers’ needs.

Learn more

]]>
Docker Desktop 4.27: Synchronized File Shares, Docker Init GA, Private Extensions Marketplace, Moby 25, Support for Testcontainers with ECI, Docker Build Cloud, and Docker Debug Beta https://www.docker.com/blog/docker-desktop-4-27/ Fri, 09 Feb 2024 14:17:02 +0000 https://www.docker.com/?p=51234 We’re pleased to announce Docker Desktop 4.27, packed with exciting new features and updates. The new release includes key advancements such as synchronized file shares, collaboration enhancements in Docker Build Cloud, the introduction of the private marketplace for extensions (available for Docker Business customers), and the much-anticipated release of Moby 25

Additionally, we explore the support for Testcontainers with Enhanced Container Isolation, the general availability of docker init with expanded language support, and the beta release of Docker Debug. These updates represent significant strides in improving development workflows, enhancing security, and offering advanced customization for Docker users.

Docker 4.27

Docker Desktop synchronized file shares GA

We’re diving into some fantastic updates for Docker Desktop, and we’re especially thrilled to introduce our latest feature, synchronized file shares, which is available now in version 4.27 (Figure 1). Following our acquisition announcement in June 2023, we have integrated the technology behind Mutagen into the core of Docker Desktop.

You can now say goodbye to the challenges of using large codebases in containers with virtual filesystems. Synchronized file shares unlock native filesystem performance for bind mounts and provides a remarkable 2-10x boost in file operation speeds. For developers managing extensive codebases, this is a game-changer.

Screenshot of Docker Desktop showing file sharing resources.
Figure 1: Shares have been created and are available for use in containers.

To get started, log in to Docker Desktop with your subscription account (Pro, Teams, or Business) to harness the power of Docker Desktop synchronized file shares. You can read more about this feature in the Docker documentation.

Collaborate on shared Docker Build Cloud builds in Docker Desktop

With the recent GA of Docker Build Cloud, your team can now leverage Docker Desktop to use powerful cloud-based build machines and shared caching to reduce unnecessary rebuilds and get your build done in a fraction of the time, regardless of your local physical hardware.

New builds can make instant use of the shared cache. Even if this is your first time building the project, you can immediately speed up build times with shared caches.

We know that team members have varying levels of Docker expertise. When a new developer has issues with their build failing, the Builds view makes it effortless for anyone on the team to locate the troublesome build using search and filtering. They can then collaborate on a fix and get unblocked in no time.

When all your team is building on the same cloud builder, it can get noisy, so we added filtering by specific build types, helping you focus on the builds that are important to you.

Link to builder settings for a build

Previously, to access builder settings, you had to jump back to the build list or the settings page, but now you can access them directly from a build (Figure 2).

Animated gif showing Docker Desktop actions to access builder settings.
Figure 2: Access builder settings directly from a build.

Delete build history for a builder

And, until now you could only delete build in batches, which meant if you wanted to clear the build history it required a lot of clicks. This update enables you to clear all builds easily (Figure 3).

Animated gif showing Docker Desktop actions to clear build history.
Figure 3: Painlessly clear the build history for an individual builder.

Refresh storage data for your builder at any point in time

Refreshing the storage data is an intensive operation, so it only happens periodically. Previously, when you were clearing data, you would have to wait a while to see the update. Now it’s just a one-click process (Figure 4).

Screenshot of Docker Desktop showing  storage data for selected builder
Figure 4: Quickly refresh storage data for a builder to get an up-to-date view of your usage.

New feature: Private marketplace for extensions available for Docker Business subscribers

Docker Business customers now have exclusive access to a new feature: the private marketplace for extensions. This enhancement focuses on security, compliance, and customization, and empowering developers, providing:

  • Controlled access: Manage which extensions developers can use through allow-listing.
  • Private distribution: Easily distribute company-specific extensions from a private registry.
  • Customized development: Deploy customized team processes and tools as unpublished/private Docker extensions tailored to a specific organization.

The private marketplace for extensions enables a secure, efficient, and tailored development environment, aligning with your enterprise’s specific needs. Get started today by learning how to configure a private marketplace for extensions.

Moby 25 release — containerd image store 

We are happy to announce the release of Moby 25.0 with Docker Desktop 4.27. In case you’re unfamiliar, Moby is the open source project for Docker Engine, which ships in Docker Desktop. We have dedicated significant effort to this release, which marks a major release milestone for the open source Moby project. You can read a comprehensive list of enhancements in the v25.0.0 release notes.

With the release of Docker Desktop 4.27,  support for the containerd image store has graduated from beta to general availability. This work began in September 2022 when we started extending the Docker Engine integration with containerd, so we are excited to have this functionality reach general availability.

This support provides a more robust user experience by natively storing and building multi-platform images and using snapshotters for lazy pulling images (e.g., stargz) and peer-to-peer image distribution (e.g., dragonfly, nydus). It also provides a foundation for you to run Wasm containers (currently in beta). 

Using the containerd image store is not currently enabled by default for all users but can be enabled in the general settings in Docker Desktop under Use containers for pulling and storing images (Figure 5).

Screenshot of Docker Desktop showing option to enable containerd image store.
Figure 5: Enable use of the containerd image store in the general settings in Docker Desktop.

Going forward, we will continue improving the user experience of pushing, pulling, and storing images with the containerd image store, help migrate user images to use containerd, and work toward enabling it by default for all users. 

As always, you can try any of the features landing in Moby 25 in Docker Desktop.

Support for Testcontainers with Enhanced Container Isolation

Docker Desktop 4.27 introduces the ability to use the popular Testcontainers framework with Enhanced Container Isolation (ECI). 

ECI, which is available to Docker Business customers, provides an additional layer of security to prevent malicious workloads running in containers from compromising the Docker Desktop or the host by running containers without root access to the Docker Desktop VM, by vetting sensitive system calls inside containers and other advanced techniques. It’s meant to better secure local development environments. 

Before Docker Desktop 4.27, ECI blocked mounting the Docker Engine socket into containers to increase security and prevent malicious containers from gaining access to Docker Engine. However, this also prevented legitimate scenarios (such as Testcontainers) from working with ECI.   

Starting with Docker Desktop 4.27, admins can now configure ECI to allow Docker socket mounts, but in a controlled way (e.g., on trusted images of their choice) and even restrict the commands that may be sent on that socket. This functionality, in turn, enables users to enjoy the combined benefits of frameworks such as Testcontainers (or any others that require containers to access the Docker engine socket) with the extra security and peace of mind provided by ECI.

Docker init GA with Java support 

Initially released in its beta form in Docker 4.18, docker init has undergone several enhancements. The docker init command-line utility aids in the initialization of Docker resources within a project. It automatically generates Dockerfiles, Compose files, and .dockerignore files based on the nature of the project, significantly reducing the setup time and complexity associated with Docker configurations. 

The initial beta release of docker init only supported Go and generic projects. The latest version, available in Docker 4.27, supports Go, Python, Node.js, Rust, ASP.NET, PHP, and Java (Figure 6).

Screenshot of Docker init CLI welcome page.
Figure 6. Docker init will suggest the best template for the application.

The general availability of docker init offers an efficient and user-friendly way to integrate Docker into your projects. Whether you’re a seasoned Docker user or new to containerization, docker init is ready to enhance your development workflow. 

Beta release of Docker Debug 

As previously announced at DockerCon 2023, Docker Debug is now available as a beta offering in Docker Desktop 4.27.

Screenshot of beta version of Docker Debug page.
Figure 7: Docker Debug.

Developers can spend as much as 60% of their time debugging their applications, with much of that time taken up by sorting and configuring tools and setup instead of debugging. Docker Debug (available in Pro, Teams, or Business subscriptions) provides a language-independent, integrated toolbox for debugging local and remote containerized apps — even when the container fails to launch — enabling developers to find and solve problems faster.

To get started, run docker debug <Container or Image name> in the Docker Desktop CLI while logged in with your subscription account.

Conclusion

Docker Desktop’s latest updates and features, from synchronized file shares to the first beta release of Docker Debug, reflect our ongoing commitment to enhancing developer productivity and operational efficiency. Integrating these capabilities into Docker Desktop streamlines development processes and empowers teams to collaborate more effectively and securely. As Docker continues to evolve, we remain dedicated to providing our community and customers with innovative solutions that address the dynamic needs of modern software development.

Stay tuned for further updates and enhancements, and as always, we encourage you to explore these new features to see how they can benefit your development workflow.

Upgrade to Docker Desktop 4.27 to explore these updates and experiment with Docker’s latest features.

Learn more

]]>
Announcing Builds View in Docker Desktop GA https://www.docker.com/blog/announcing-builds-view-in-docker-desktop-ga/ Wed, 06 Dec 2023 14:07:12 +0000 https://www.docker.com/?p=49623 As an engineer in a product development team, your primary focus is innovating new services to push the organization forward. We know how frustrating it is to be blocked because of a failing Docker build or to have the team be slowed down because of an unknown performance issue in your builds.

Due to the complex nature of some builds, understanding what is happening with a build can be tricky, especially if you are new to Docker and containerization.

To help solve these issues, we are excited to announce the new Builds view in Docker Desktop, which provides detailed insight into your build performance and usage. Get a live view of your builds as they run, explore previous build performance, and deep dive into an error and cache issue.

banner builds view ga

What is causing my build to fail?

The Builds view lets you look through recent and past builds to diagnose a failure long after losing the logs in your terminal. Once you have found the troublesome build, you can explore all the runtime context of the build, including any arguments and the full Dockerfile. The UI provides you with the full build log, so you no longer need to go back and re-run the build with --progress=plain to see exactly what happened (Figure 1).

Animated view of Docker build log with failed notification and highlighted error.
Figure 1: A past Docker build’s logs showing an error in one of the steps.

You can see the stack trace right next to the Dockerfile command that is causing the issues, which is useful for understanding the exact step and attributes that caused the error (Figure 2).

Screenshot of Dockerfile showing stack trace under a step that failed.
Figure 2: A view of a Dockerfile with a stack trace under a step that failed.

You can also check whether this issue has happened before or look at what changed to cause it. A jump in run time compared to the baseline can be seen by inspecting previous builds for this project and viewing what changed (Figure 3).

Animated view of build history showing a graph of duration, build steps, and cached steps.
Figure 3: The build history view showing timing information, caching information, and completion status for historic builds of the same image.

What happened to the caching?

We often hear about how someone in the team made a change, impacting the cache utilization. The longer such a change goes unnoticed, the harder it can be to locate what happened and when.

The Builds view plots your build duration alongside cache performance. Now, it’s easy to see a spike in build times aligned with a reduction in cache utilization (Figure 4).

Screenshot showing zoomed in view of build history graph listing platform, status, cache, duration.
Figure 4: Enlarged view of the build history calling out the cache hit ratio for builds of the same image.

You can click on the chart or select from the build history to explore what changed before and after the degradation in performance. The Builds view keeps all the context from your builds, the Dockerfile, the logs, and all execution information (Figure 5).

 Screenshot showing Dockerfile with historic build of image.
Figure 5: An example of a Dockerfile for a historic build of an image that lets you compare what changed over time.

You can even see the commit and source information for the build and easily locate who made the change for more help in resolving the issue (Figure 6).

Animated screenshot showing info view of historic build with four pie charts.
Figure 6: The info view of a historic build of an image showing the location of the Git repository being used and the digest of the commit that was built.

An easier way to manage builders

Previously, users have been able to manage builders from the CLI, providing a flexible method for setting up multiple permutations of BuildKit.

Although this approach is powerful, it would require many commands to fully inspect and manage all the details for your different builders. So, as part of our efforts to continuously make things easier for developers, we added a builder management screen with Docker Desktop (Figure 7).

Screenshot of builder inspection view showing pie chart of storage limit divided into regular, cache mounts, and local sources.
Figure 7: The builder inspection view, showing builder configuration and storage utilization.

All the important information about your builders is available in an easy-to-use dashboard, accessible via the Builds view (or from settings). Now, you can quickly see your storage utilization and inspect the configuration.

Screenshot of Available Builders screen with options to use, start, and remove builders.
Figure 8: Conveniently start, stop, and switch your default builder.

You can also switch your default builder and easily start and stop them (Figure 8). Now, instead of having to look up which command-line options to call, you can quickly select from the drop-down menu.

Get started

The new Builds view is available in the new Docker Desktop 4.26 release; upgrade and click on the new Builds tab in the Dashboard menu.

We are excited about the new Builds view, but this is just the start. There are many more features in the pipeline, but we would love to hear what you think.

Give Builds view a try and share your feedback on the app. We would also love to chat with you about your experience so we can make the best possible product for you.

Update to Docker Desktop 4.26 to get started!

Learn more

]]>
Docker Desktop 4.26: Rosetta, PHP Init, Builds View GA, Admin Enhancements, and Docker Desktop Image for Microsoft Dev Box https://www.docker.com/blog/docker-desktop-4-26/ Wed, 06 Dec 2023 14:06:54 +0000 https://www.docker.com/?p=49434 We’re happy to announce the release of Docker Desktop 4.26, which delivers the latest breakthroughs in Rosetta for Docker Desktop optimization, transforming the Docker experience for all users. The new release also boosts developer productivity by solving common issues such as Node.js freezes and PHP segmentation faults and supercharges performance with speed enhancements and a new view into your Docker Desktop builds.

Read on to learn how Rosetta slashes Linux kernel build times, accelerates PHP projects, and optimizes image building on Apple silicon. Additionally, we are introducing PHP support in Docker Init and enabling administrators to manage access to Docker Desktop Beta and Experimental Features.

Upgrade to Docker Desktop 4.26 and explore these updates, which enable smoother development experiences and seamless containerization for diverse tech stacks.

Graphic showing 4.26 in white text on blue background.

Rosetta for Docker Desktop

Docker Desktop 4.26 ensures a smoother Rosetta for Docker Desktop experience:

  • Node.js freezing for extended periods? Fixed.
  • PHP encountering segmentation faults? Resolved.
  • Programs dependent on chroot? Also addressed.
  • Rosetta hangs on Sonoma 14.0? No more.

Moreover, our team has been hard at work improving Rosetta’s performance in specific scenarios. Consider, for example, building projects like PostHog for both AMD64 and Arm64. Previously clocking in at 17 minutes, it’s now achieved in less than 6 minutes. 

You will now be able to experience the power of Rosetta for Docker Desktop as it reduces Linux kernel build time from 39 minutes to 17 minutes with just 10 CPUs and QEMU. 

PHP and Composer users will discover that building Sylius Standard from scratch now takes only 6 minutes (down from 20) with Docker Desktop’s default configuration on Rosetta.

While building AMD64 images on Apple silicon with Rosetta is faster than ever, native Arm64 images remain the speediest option. Docker Hub hosts a variety of Arm64 images for your preferred language, ensuring fast performance for your projects. 

Introducing PHP support in Docker Init

We want to ensure that we continue making Docker easier for all of our users and all languages. Based on user insights, we’ve launched Docker Init (Beta) — simplifying containerization for various tech stacks. (Read “Docker Init: Initialize Dockerfiles and Compose files with a single CLI command” to learn more.)

Docker Init automatically generates Dockerfiles, Compose YAML, and `.dockerignore` files by detecting your application’s language and runtime specifics. Initially supporting Golang, Python, Node, Rust, and ASP.NET Core, Docker Init offers PHP web application support in Docker Desktop 4.26 (Figure 1).

Screenshot showing welcome text for docker init.
Figure 1: Docker Init showing available languages, now including PHP.

Users can now create Dockerfiles for PHP projects, covering Apache-based web applications using Composer for managing dependencies.

Get started by ensuring you have the latest Docker Desktop version. Then, execute docker init in your project directory through the command line. Let Docker Init handle the heavy lifting, allowing you to concentrate on your core task — building outstanding applications.

Introducing Docker Desktop’s Builds view GA

For engineers focused on innovation, build issues can be a major roadblock. That’s why we’re happy to announce the general availability of the Builds view, offering detailed insights into build performance. Get live updates on your builds, analyze past performance, and troubleshoot errors and cache issues.

The Builds view simplifies troubleshooting by retaining past build data, ensuring you can diagnose failures long after losing terminal logs. Easily explore runtime context, including arguments and the complete Dockerfile. Access the full build log directly from the UI, eliminating the need to re-run builds for a detailed overview (Figure 2).

 The build history view showing timing information, caching information, and completion status for historic builds of the same image.
Figure 2: The build history view showing timing information, caching information, and completion status for historic builds of the same image.

Read the announcement blog post to learn more about the Builds view GA release.

Admin update: Managing access to Docker Beta and Experimental Features 

At Docker, we continuously experiment and deliver the latest features directly into the hands of our users and customers. We’re dedicated to empowering Docker administrators by offering increased control over how these innovations are introduced within their development organizations. Through the flexibility of the admin-settings.json, administrators can now fine-tune feature accessibility (Figure 3).

Screenshot of Docker Desktop showing "Features in Development" with Beta features selected and a comment saying "Beta features are locked by your administrator."
Figure 3: User experience after an administrator has restricted access to Beta features.

This update enables precise customization, allowing admins to align Docker’s Beta and Experimental Features with their organization’s specific requirements. Whether restricting access to individual tabs or implementing comprehensive controls across the board, this enhancement caters to diverse development practices, providing the flexibility needed to optimize the Docker experience for every user (Figure 4).

Screenshot of Docker Desktop showing "Features in Development" with Experimental features selected and a comment saying "Experimental features are locked by your administrator."
Figure 4: User experience after an administrator has restricted access to Experimental features.

Refer to the documentation for more on configuration settings management.

Develop in the cloud with Docker Desktop and Microsoft Dev Box

In addition to running Docker Desktop from the comfort of your personal computer, you can now leverage this familiar experience within the cloud with Microsoft Dev Box. In a Microsoft Ignite session and a recent blog post, developers got their first glimpse of how easy it can be to create containers in the cloud with Docker Desktop and Microsoft Dev Box.  

We invite you to navigate to the Azure Marketplace to download the public preview of the Docker Desktop-Dev Box compatible image and start developing in the cloud with a native experience. Additionally, this image can be activated with your current subscription, or you can buy a Docker Business subscription directly on Azure Marketplace.

Conclusion

Stay tuned for more groundbreaking developments and optimizations to streamline your Docker experience. Your feedback fuels our progress, and we’re committed to delivering solutions that simplify development and empower every user.

Upgrade to Docker Desktop 4.26 to explore these updates and experiment with Docker’s latest features.

Learn more

]]>
Docker Desktop 4.25: Enhancements to Docker Desktop on Windows, Rosetta for Linux GA, and New Docker Scout Image Analysis Settings https://www.docker.com/blog/docker-desktop-4-25/ Mon, 30 Oct 2023 16:51:48 +0000 https://www.docker.com/?p=47759 We’re excited to share Docker Desktop’s latest advancements that promise to elevate your experience, enhance productivity, and increase speed. The Docker Desktop 4.25 release supports the GA of Rosetta for Linux, a feature that furthers the speed and productivity that Docker Desktop brings. We’ve also optimized the installation experience on Windows and simplified Docker Scout image analysis settings in this latest Docker Desktop release.

Get ready for near-native emulation, seamless updates, and effortless image analysis control. Let’s dive into some of the newest features in Docker Desktop.

banner 4.25 docker desktop

Enhanced productivity and speed with Rosetta for Linux GA

We’re thrilled to announce the general availability of Rosetta for Linux, a game-changing Docker Desktop feature that significantly boosts performance and productivity. Here’s what you need to know:

  • Rosetta for Linux GA: Docker now supports running x86-64 (Intel) binaries on Apple silicon with Rosetta 2. It’s no longer an experimental feature but a seamlessly integrated component of Docker Desktop.
  • Near-native emulation: The x86_64 emulation performance is now nearly on par with native execution, all thanks to Rosetta 2. This means you can expect near-native speed when running your applications.
  • Easy activation: Enabling Rosetta for Linux is a breeze. Simply navigate to Docker Desktop Settings > General and toggle it on to take advantage of the enhanced performance.
  • System requirements: Rosetta for Linux is available on macOS version 13.0 and above, specifically for Apple silicon devices. Notably, it’s enabled by default on macOS 14.1 and newer, making it even more accessible.
Docker Desktop 4.25 User settings displaying the new option to select turning on Rosetta on Apple Silicon.
Figure 1: Docker Desktop 4.25 User settings displaying the new option to select turning on Rosetta on Apple Silicon.

Customers who used the previously beta feature of Rosetta for Linux experienced remarkable improvements, particularly when compared to alternatives. Real-world examples:

  • Database operations: SQL queries are running significantly faster, resulting in notable speed-ups. For instance, tasks like creating databases, running queries, and making updates are showing impressive performance gains ranging from 4% to as high as 91%.
  • Development efficiency: Customers have reported substantial improvements in their development workflows. Tasks like installing dependencies and building projects are considerably faster, translating to more productive development cycles.
  • Compatibility: For projects that rely on compatibility with Linux/AMD64 platforms due to binary compatibility issues, Rosetta for Linux ensures a smooth and efficient development process.

With Rosetta for Linux in Docker Desktop, users can look forward to a significant performance boost and increased efficiency.

Enhanced Docker Desktop installation experience on Windows

At Docker, we’re committed to delivering a seamless and efficient Docker Desktop experience for Windows users, irrespective of local settings or privileges. We understand that keeping your WSL (Windows Subsystem for Linux) up to date is crucial for a seamless Docker Desktop experience. With this in mind, we’re pleased to announce a new feature in Docker Desktop that detects the version of WSL during installation and offers automated updates.

When an outdated version of WSL is detected, you now have two convenient options:

  • Automatic update (default): Allow Docker Desktop to handle the WSL update process seamlessly, ensuring your environment is always up to date without any manual intervention.
  • Manual update: If you have specific requirements or prefer to manage your WSL updates manually, you can choose to update WSL outside of Docker Desktop. This flexibility allows you to make custom kernel installations and maintain full control over your development environment.

With these enhancements, Docker Desktop on Windows becomes more user-friendly, reliable, and adaptable to your unique needs.

Prompt displaying two new options to finish the installation of Docker Desktop.
Figure 2: Prompt displaying two new options to finish the installation of Docker Desktop.

Improved Docker Desktop compatibility with Windows 

Docker Desktop’s recent update also includes a change in the minimum supported Windows version, now set at 19044. This update isn’t just about staying in sync with Microsoft’s supported operating systems; it’s about providing you with a seamless Docker Desktop installation experience. By raising the minimum version, we aim to prevent issues tied to older Windows versions, reducing installation failures. 

Alert regarding the installed version of Windows being incompatible with the version of Docker Desktop being installed.
Figure 3: Alert regarding the installed version of Windows being incompatible with the version of Docker Desktop being installed.

To ensure all Windows users can harness the latest Docker Desktop features and functionalities, we’ve implemented a clear prompt to upgrade Windows versions below 19044.

New Docker Scout settings management in Docker Desktop 4.25

Introducing an easy way for users to manage Docker Scout image analysis in Docker Desktop 4.25. Now, users can easily control Docker Scout image indexing from the Docker Desktop general settings panel with a user-friendly toggle to enable or disable the analysis of local images. 

Administrators can fine-tune access with customized user policies, ensuring precise control of Docker Scout image analysis within their organizations. By specifying an organizational setting in admin-settings.json, administrators can control the Docker Scout image analysis feature for their developers. This enhancement is the first of many to ensure that both users and administrator experiences support personalization.

Docker Desktop 4.25 user settings displaying the new option to turn Scout SBOM indexing on or off at a user settings level. For organizations that have administration, this feature can be restricted per company policies.
Figure 4: Docker Desktop 4.25 user settings displaying the new option to turn Scout SBOM indexing on or off at a user settings level. For organizations that have administration, this feature can be restricted per company policies.

Conclusion

The 4.25 release is all about enhancing your Docker Desktop experience. Rosetta for Linux provides remarkable speed and efficiency, optimized installation on Windows ensures seamless updates, and Docker Scout image analysis settings are more easily established.

Update to Docker Desktop 4.25 to empower every user and team to continue to improve productivity and efficiency in developing innovative applications. Do you have feedback? Leave feedback on our public GitHub roadmap, and let us know what else you’d like to see in upcoming releases.

Learn more

]]>
Docker Desktop 4.24: Compose Watch, Resource Saver, and Docker Engine https://www.docker.com/blog/docker-desktop-4-24-compose-watch-resource-saver-and-docker-engine/ Tue, 03 Oct 2023 14:59:59 +0000 https://www.docker.com/?p=46706 We’re excited to share this month’s highlights that will further improve your Docker experience. Our commitment to supporting your development journey has led to enhancements across our tools, and today, we’re pleased to announce the official General Availability of  Docker Compose Watch and Resource Saver. Combined with our new enhancements to managing Docker Engine in Docker Desktop, these updates will help you be more efficient and make your software development experience more enjoyable.

banner 4.24 docker desktop

Docker Compose Watch is now Generally Available

The Docker Compose Watch GA release marks a significant milestone in our journey. Once labeled alpha as docker-compose watch, this tool is faster, more resilient, and ready to support your development needs effectively.

We’ve been listening to your feedback since its initial alpha launch (introduced in Compose v2.17 and bundled with Docker Desktop 4.18). Our goal was to make it faster and more robust, ensuring a smoother development experience.

We created Docker Compose Watch to enhance your workflow by providing native support for common development tasks, such as hot reloading for front-end development.

docker desktop 424 figure1
Figure 1: Docker Compose Watch configuration.
docker desktop 424 figure2
Figure 2: Docker Compose Watch gives developers more control over how local file changes sync into the container.

These improvements mean fewer hiccups during everyday tasks, such as merging branches or switching codebases. Docker Compose Watch now intelligently manages changes, allowing you to focus on what matters most — building great software.

As Docker Compose Watch transitions to General Availability, we thank you for your support and feedback. Your insights have been invaluable in shaping this tool.

Resource Saver is now Generally Available

The performance enhancement feature, Resource Saver, is now Generally Available, supporting automatic low-memory mode for Mac, Windows, and Linux. 

This new feature automatically detects when Docker Desktop is not running containers and dramatically reduces its memory footprint by 10x, freeing up valuable resources on developers’ machines for other tasks and minimizing the risk of lag when navigating across different applications. Memory allocation can now be quick and efficient, resulting in a seamless and performant development experience.

docker desktop 424 figure3
Figure 3: Docker Desktop resource saver settings tab.

Resource Saver is available to all Desktop users as default, configured from the Resources tab in Settings. For more information, refer to the Docker Desktop’s Resource Saver mode documentation.

Docker Desktop streamlines Docker Engine control: A user-centric upgrade

At Docker, we value your feedback, and one of the most frequently requested features has been an enhancement to Docker Engine’s status and associated actions in Docker Desktop. Listening to your input, we’ve made some straightforward yet impactful UX improvements:

  1. Constant engine status: You’ll now see the engine status at all times, eliminating the need to hover for tooltips.
  2. One-click actions: Common engine and desktop actions like start, pause, and quit are now easily accessible from the dashboard, reducing clicks for everyday tasks.
  3. Enhanced menu visibility: We’ve revamped the menu for greater prominence, making it easier to find essential features, such as Troubleshoot.

What’s in it for you? A more user-friendly Docker experience that minimizes clicks, reduces cognitive load, and provides quicker access to essential actions. We want to hear your thoughts on these improvements, so don’t hesitate to share your feedback via the Give Feedback option in the whale menu!

docker desktop 424 figure4
Figure 4: Docker Engine status interactive interface supporting stop, start, and pause.

Conclusion

Upgrade now to explore what’s new in the 4.24 release of Docker Desktop. Do you have feedback? Leave feedback on our public GitHub roadmap, and let us know what else you’d like to see in upcoming releases.

Learn more

]]>
Docker Desktop 4.23: Updates to Docker Init, New Configuration Integrity Check, Quick Search Improvements, Performance Enhancements, and More https://www.docker.com/blog/docker-desktop-4-23/ Tue, 12 Sep 2023 18:25:32 +0000 https://www.docker.com/?p=45963 Docker Desktop 4.23 is now available and includes numerous enhancements, including ASP.NET Core support in Docker Init, Configuration Integrity Check to alert on any configuration changes that require attention, and cross-domain identity management. This release also improves Quick Search, allowing for searching across containers, apps, Docker Hub, Docs, and any volume, and performing quick actions (start/stop/delete). VirtioFS is now set to default to provide performance gains for Mac users. With the Docker Desktop 4.23 release, Mac users will also see increased network performance using traditional network connections. 

In this post, we dive into what’s new and updated in the latest release of Docker Desktop.

banner 4.23 docker desktop

ASP.NET Core with Docker Init

We are excited to announce added support for ASP.NET Core. Whether you’re new to Docker or a seasoned pro, Docker Init now streamlines Dockerization for your ASP.NET Core projects. With a simple docker init command in your project folder and the latest Docker Desktop version, watch as Docker Init generates tailored Dockerfiles, Compose files, and .dockerignore files.

Docker Init showing available languages, now including ASP.NET.
Figure 1: Docker Init showing available languages, now including ASP.NET Core.

Specific to ASP.NET Core, we also improved support and comments in the DockerFile for multi-arch builds. This advancement will help users manage sharing their images across different CPU architectures and streamline deployments on cloud providers such as Azure, AWS, and GCP. Create images that fit various architectures, boosting flexibility and efficiency in cloud deployments.

Get started by ensuring you have the latest Docker Desktop version. Then, execute docker init in your project directory through the command line. Let Docker Init handle the heavy lifting, allowing you to concentrate on your core task — crafting outstanding applications!

Configuration Integrity Check

Ensure Docker Desktop runs smoothly with our new Configuration Integrity Check. This allows you to keep using multiple local applications and tools, sometimes making configuration changes hassle-free. This update automatically detects and alerts to any configuration changes, prompting a simple click and re-establishing Docker Desktop configurations to track and ensure uninterrupted development.

Alerts to any configuration issues will be displayed in the whale menu.

Cross-domain identity management 

User access management for Docker just got more powerful. SCIM helps auto-provision or de-provision users, and group role mapping is now supported so you can organize your teams and their access accordingly: 

  • You can assign roles to members in your organization in the IdP. To set up a role, you can use optional user-level attributes for the person you want to assign a role. 
  • You can also set an organization and team to override the default provisioning values set by the SSO connection.
  • The following table lists the supported optional user-level attributes.
The logic used for defining user access control.
Figure 2: The logic used for defining user access control.

Improvements to Quick Search 

Empowering developers with seamless access to essential resources whenever they’re needed, our revamped Quick Search feature has received significant upgrades. Now, users can effortlessly locate:

  • Containers and Compose apps: Easily pinpoint any container or Compose app residing on your local system. Additionally, gain quick access to environment variables and perform essential actions such as starting, stopping, or deleting them.
  • Docker Hub images: Whether it’s public Docker Hub images, local ones, or those from remote repositories, Quick Search will provide fast and relevant results.
  • Extensions: Discover more about specific extensions and streamline installation with a single click.
  • Volumes: Effortlessly navigate through your volumes and gain insights into the associated containers.
  • Documentation: Instantly access invaluable assistance from Docker’s official documentation, all directly from within Docker Desktop.

Enhanced Quick Search is your ultimate tool for resource discovery and management, offering unmatched convenience for developers.

Search results with updated Quick Search within Docker Desktop 4.23.
Figure 3: Search results with updated Quick Search within Docker Desktop 4.23.

Standardizing higher performance file sharing with VirtioFS for Mac users

Docker Desktop 4.23 now defaults to utilizing VirtioFS on macOS 12.5+ as the standard to deliver substantial performance gains when sharing files with containers through docker run -v or bind mounts in Compose YAML. VirtioFS minimizes file transfer overhead by allowing containers to access files without volume mounts or network shares.

Setting VirtuoFS to default in the Docker Desktop General settings.
Figure 4: Setting VirtuoFS to default in the Docker Desktop General settings.

Skipping network file transfer protocols also leads to faster file transfers. We measured performance improvements, decreasing file transfer time from 7:13.21s to 1:4.4s — an 85.15% increase in speed. We do want to note that the measured improvement depends on the size of the file, what other apps are running, and the hardware of the computer.

Tables showing the transfer speeds of a 10GB file over three runs, before and after using VirtioFS.
Figure 5: Tables showing the transfer speeds of a 10GB file over three runs, before and after using VirtioFS.

Docker Desktop network speed improvements for Mac users

Docker Desktop 4.23 comes with improved networking performance for Mac users. Now, when a container requires a traditional network connection, users will experience increased network performance in these ways:

  1. Accessing exposed ports ~10x faster
  2. Transmission Control Protocol (TCP)  ~1.5x – 2x faster

No user action is required to experience these benefits — all Mac users updated to 4.23 will now network faster!

Conclusion

Upgrade now to explore what’s new in the 4.23 release of Docker Desktop. Do you have feedback? Leave feedback on our public GitHub roadmap, and let us know what else you’d like to see in upcoming releases.

Learn more

]]>