Docker Desktop 4.24: Compose Watch, Resource Saver, and Docker Engine

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.

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.

Figure 1: Docker Compose Watch configuration.

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.

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:

Constant engine status: You’ll now see the engine status at all times, eliminating the need to hover for tooltips.

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.

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!

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

Read the Docker Desktop Release Notes.

Get the latest release of Docker Desktop.

Learn more about Resource Saver Mode in Docker Desktop. 

Lear more about Docker Compose Watch.

Have questions? The Docker community is here to help.

New to Docker? Get started.

Quelle: https://blog.docker.com/feed/

Announcing Docker Compose Watch GA Release

Docker Compose Watch, a tool to improve the inner loop of application development, is now generally available. Hot reload is one of those engineering workflow features that’s seemingly minor and simple but has cumulative benefits. If you can trust your app will update seamlessly as you code, without losing state, it’s one less thing pulling your focus from the work at hand. You can see your frontend components come to life while you stay in your IDE. 

With containerized application development, there are more steps than Alt+Tab and hitting reload in your browser. Even with caching, rebuilding the image and re-creating the container — especially after waiting on stop and start time — can disrupt focus.

We built Docker Compose Watch to smooth away these workflow papercuts. We have learned from many people using our open source Docker Compose project for local development. Now we are natively addressing common workflow friction we observe, like the use case of hot reload for frontend development. 

Bind mount vs. Watch

A common workaround to get hot reload to work is to set up a bind mount to mirror file changes between the local system and a container. This method uses operating system and hypervisor APIs to expose a local directory to the otherwise isolated file system in the container.

The workaround is not trivial engineering since how bind mounts function in Docker Desktop differs from Docker Engine on Linux. For parity, Docker Desktop must provide seamless and efficient file sharing between your machine and its virtual machine (VM), ensuring permissions, replicating file notifications, and maintaining low-level filesystem consistency to prevent corruption. 

In contrast, Docker Compose Watch is specifically targeting development use cases. You may want to ensure your code changes sync into the container, allowing React or NextJS to kick off its own live reload. However, you don’t want the changes you’ve made in the container for ad-hoc testing to reflect in your local directory. For this reason, the tradeoffs we make for Docker Compose Watch favor fine-grained control for common development workflows with Docker Compose (Figures 1 and 2).

Figure 1: Docker Compose Watch configuration.

Figure 2: Docker Compose Watch gives developers more control over how local file changes sync into the container.

Improving Watch for development

Since the alpha launch (in Compose v2.17, bundled with Docker Desktop 4.18), we’ve responded to early feedback by making Docker Compose Watch faster and more robust. This improvement avoids hiccups on common development tasks that kick off many changes, such as merging in the latest main or switching branches. 

Your code sync operation now batches, debounces, and ignores unimportant changes:

What previously would be many API calls are now batched as a single API call to the Docker Engine.

We’ve fine-tuned the streaming of changes to your containers for improved transfer performance. A new built-in debounce mechanism prevents unnecessary transfers in case of back-to-back writes to the same file. This optimizes CPU usage by preventing unnecessary incremental compiles.

The built-in filters have been refined to ignore standard temporary files generated by common code editors and integrated development environments (IDEs).

Previously, Docker Compose Watch required attaching to an already running Compose project. Docker Compose Watch now automatically builds and starts all required services at launch. One command is all you need: docker compose watch.

Try Docker Compose Watch in Docker Desktop 4.24

As of Compose 2.22.0, bundled with Docker Desktop 4.24, Docker Compose Watch is now Generally Available. Make sure to upgrade to the latest version of Docker Desktop and develop more efficiently with docker compose watch.

Let us know how Docker Compose Watch supports your use case and where it can improve. Or you can contribute directly to the open source Docker Compose project.

Learn more

Read the Docker Desktop Release Notes.

Learn about Docker Desktop 4.24.

Get the latest release of Docker Desktop.

Contribute to the open source Docker Compose project.

Have questions? The Docker community is here to help.

New to Docker? Get started.

Quelle: https://blog.docker.com/feed/

Announcing Docker AI/ML Hackathon 

With the return of DockerCon, held October 4-5 in Los Angeles, we’re excited to announce the kick-off of a Docker AI/ML Hackathon. Join us at DockerCon — in-person or virtually — to learn about the latest Docker product announcements. Then, bring your innovative artificial intelligence (AI) and machine learning (ML) solutions to life in the hackathon for a chance to win cool prizes.

The Docker AI/ML Hackathon is open from October 3 – November 7, 2023. DockerCon in-person attendees are invited to the dedicated hackspace, where you can chat with fellow developers, Dockhands, and our partners Datastax, Navan.ai, Neo4J, OctoML, and Ollama. 

We’ll also host virtual webinars, Q&A, and engaging chats throughout the next five weeks to keep the ideas flowing. Register for the Docker AI/ML Hackathon to participate and to be notified of event activities.

Hackathon tips

Docker AI/ML Hackathon participants are encouraged to build solutions that are innovative, applicable in real life, use Docker technology, and have an impact on developer productivity.  Submissions can also be non-code proof-of-concepts, extensions that improve Docker workflows, or integrations to improve existing AI/ML solutions.  

Solutions should be AI/ML projects or models built using Docker technology and distributed through DockerHub, AI/ML integrations into Docker products that improve the developer experience, or extensions of Docker products that make working with AI/ML more productive.

Submissions should be a working application or a non-code proof of concept. We would like to see submissions as close to a real-world implementation as possible, but we will accept submissions that are not fully functional with a strong proof of concept. Additionally, all submissions should include a 3-5 minute video that showcases the hack along with background and context (we will not judge the submission on the quality or editing of the video itself). 

After submitting your solution, you’ll be in the running for $20,000 in cash prizes and exclusive Docker swag. Judging will be based on criteria such as the applicability of the solution, innovativeness of the solution, incorporation of Docker tooling, and impact on the developer experience and productivity.

Get started 

Follow the #DockerHackathon hashtag on social media platforms and join the Docker AI/ML Hackathon Slack channel to connect with other participants.

Check out the site for full details about the Docker AI/ML Hackathon and register to start hacking today! 

Submissions close on November 7, 2023, at 5 PM Pacific Time (November 8 at 1 AM UTC).

Learn more

Register for the Docker AI/ML Hackathon.

Get the latest release of Docker Desktop.

Vote on what’s next! Check out our public roadmap.

Have questions? The Docker community is here to help.

New to Docker? Get started.

Quelle: https://blog.docker.com/feed/