diff --git a/_vale/Docker/Acronyms.yml b/_vale/Docker/Acronyms.yml index b1dc301aa2..08a81fb073 100644 --- a/_vale/Docker/Acronyms.yml +++ b/_vale/Docker/Acronyms.yml @@ -78,6 +78,7 @@ exceptions: - KDE - LESS - LLDB + - LLM - LTS - MAC - MATE diff --git a/_vale/config/vocabularies/Docker/accept.txt b/_vale/config/vocabularies/Docker/accept.txt index 97d7666e2c..943435bcdc 100644 --- a/_vale/config/vocabularies/Docker/accept.txt +++ b/_vale/config/vocabularies/Docker/accept.txt @@ -77,6 +77,7 @@ Nginx Nutanix Nuxeo OAuth +Ollama OTel Okta PKG diff --git a/content/manuals/desktop/features/containerd.md b/content/manuals/desktop/features/containerd.md index e78c444832..6f80994fae 100644 --- a/content/manuals/desktop/features/containerd.md +++ b/content/manuals/desktop/features/containerd.md @@ -1,6 +1,6 @@ --- title: containerd image store -weight: 10 +weight: 80 description: How to activate the containerd integration feature in Docker Desktop keywords: Docker, containerd, engine, image store, lazy-pull toc_max: 3 @@ -8,37 +8,31 @@ aliases: - /desktop/containerd/ --- -This page provides information about the ongoing integration of `containerd` for -image and file system management in the Docker Engine. +Docker Desktop is transitioning to use containerd for image and filesystem management. This page outlines the benefits, setup process, and new capabilities enabled by the containerd image store. > [!NOTE] > -> Images and containers are not shared between the classic image store and the -> new containerd image store. When you switch image stores, containers and -> images from the inactive store remain but are hidden until you switch back. +> Docker Desktop maintains separate image stores for the classic and containerd image stores. +> When switching between them, images and containers from the inactive store remain on disk but are hidden until you switch back. -## What is containerd? +## What is `containerd`? -`containerd` is an abstraction of the low-level kernel features -used to run and manage containers on a system. -It's a platform used in container software like Docker and Kubernetes. +`containerd` is a container runtime that provides a lightweight, consistent interface for container lifecycle management. It is already used under the hood by Docker Engine for creating, starting, and stopping containers. -Docker Engine already uses `containerd` for container lifecycle management, -which includes creating, starting, and stopping containers. -This page describes the next step of the containerd integration for Docker: -the containerd image store. +Docker Desktop’s ongoing integration of containerd now extends to the image store, offering more flexibility and modern image support. -## Image store +## What is the `containerd` image store? The image store is the component responsible for pushing, pulling, and storing images on the filesystem. + The classic Docker image store is limited in the types of images that it supports. For example, it doesn't support image indices, containing manifest lists. When you create multi-platform images, for example, the image index resolves all the platform-specific variants of the image. An image index is also required when building images with attestations. -The containerd image store extends range of image types +The containerd image store extends the range of image types that the Docker Engine can natively interact with. While this is a low-level architectural change, it's a prerequisite for unlocking a range of new use cases, including: @@ -88,8 +82,4 @@ and load them to your local image store: -## Feedback -Thanks for trying the new features available with `containerd`. Give feedback or -report any bugs you may find through the issues tracker on the -[feedback form](https://dockr.ly/3PODIhD). diff --git a/content/manuals/desktop/features/desktop-cli.md b/content/manuals/desktop/features/desktop-cli.md index 600224a500..7980097559 100644 --- a/content/manuals/desktop/features/desktop-cli.md +++ b/content/manuals/desktop/features/desktop-cli.md @@ -1,14 +1,9 @@ --- -title: Using the Docker Desktop CLI +title: Use the Docker Desktop CLI linkTitle: Docker Desktop CLI -weight: 120 +weight: 100 description: How to use the Docker Desktop CLI keywords: cli, docker desktop, macos, windows, linux -params: - sidebar: - badge: - color: green - text: New --- {{< summary-bar feature_name="Docker Desktop CLI" >}} diff --git a/content/manuals/desktop/features/dev-environments/_index.md b/content/manuals/desktop/features/dev-environments/_index.md index 6393671d12..def2e62148 100644 --- a/content/manuals/desktop/features/dev-environments/_index.md +++ b/content/manuals/desktop/features/dev-environments/_index.md @@ -3,7 +3,7 @@ description: Dev Environments keywords: Dev Environments, share, local, Compose title: Overview of Dev Environments linkTitle: Dev Environments -weight: 40 +weight: 130 aliases: - /desktop/dev-environments/ params: diff --git a/content/manuals/desktop/features/gordon/_index.md b/content/manuals/desktop/features/gordon/_index.md index 1ee9d3ad64..22f15e8973 100644 --- a/content/manuals/desktop/features/gordon/_index.md +++ b/content/manuals/desktop/features/gordon/_index.md @@ -17,23 +17,22 @@ of the Docker ecosystem. ## What is Ask Gordon? -Ask Gordon is a suite of AI-powered capabilities integrated into Docker's tools. -These features, currently in Beta, are not enabled by default, and are not +Ask Gordon provides AI-powered assistance in Docker tools. It offers contextual help for tasks like: + +- Improving Dockerfiles +- Running and troubleshooting containers +- Interacting with your images and code +- Finding vulnerabilities or configuration issues + +It understands your local environment, including source code, Dockerfiles, and images, to provide personalized and actionable guidance. + +These features are not enabled by default, and are not production-ready. You may also encounter the term "Docker AI" as a broader reference to this technology. -The goal of Ask Gordon is to make Docker's tools for managing images and -containers more intuitive and accessible. It provides contextual assistance -tailored to your local environment, including Dockerfiles, containers, and -applications. - -Ask Gordon integrates directly with Docker's tools to help you perform specific -tasks. It understands your local setup, such as your local source code and -images. For example, you can ask Gordon to help you identify vulnerabilities in -your project or how to optimize a Dockerfile in your local repository. This -tight integration ensures responses are practical and actionable. - -> [!NOTE] Ask Gordon is powered by Large Language Models (LLMs). Like all +> [!NOTE] +> +> Ask Gordon is powered by Large Language Models (LLMs). Like all > LLM-based tools, its responses may sometimes be inaccurate. Always verify the > information provided. @@ -81,40 +80,22 @@ making it more effective for all users. If you have concerns about data collection or usage, you can [disable](#disable-ask-gordon) the feature at any time. -## Setup +## Enable Ask Gordon -To use this feature, you must have: - -- Docker Desktop version 4.38 or later. - -Ask Gordon is not enabled by default. To enable the feature: - -1. [Sign in](#sign-in) to your Docker account. -2. [Enable the feature](#enable-the-feature) in the Docker Desktop settings. - -### Sign in - -1. Open Docker Desktop. -2. Select the **Sign in** button. -3. Complete the sign-in process in your web browser. - -### Enable the feature - -After signing in to your Docker Account, enable the Docker AI feature: - -1. Navigate to the **Features in development** tab in settings. -2. Under the **Experimental features** tab, select **Access experimental features**. -3. Select **Apply and restart**. -4. Quit and reopen Docker Desktop to ensure the changes take effect. -5. Open the **Settings** view in Docker Desktop. -6. Navigate to **Features in development**. -7. From the **Beta** tab, check the **Enable Docker AI** checkbox. +1. Sign in to your Docker account. +2. Navigate to the **Features in development** tab in settings. +3. Under the **Experimental features** tab, select **Access experimental features**. +4. Select **Apply and restart**. +5. Quit and reopen Docker Desktop to ensure the changes take effect. +6. Open the **Settings** view in Docker Desktop. +7. Navigate to **Features in development**. +8. From the **Beta** tab, check the **Enable Docker AI** checkbox. The Docker AI terms of service agreement is displayed. You must agree to the terms before you can enable the feature. Review the terms and select **Accept and enable** to continue. -8. Select **Apply & restart**. +9. Select **Apply & restart**. ## Using Ask Gordon @@ -122,14 +103,9 @@ The primary interfaces to Docker's AI capabilities are through the **Ask Gordon** view in Docker Desktop, or if you prefer to use the CLI: the `docker ai` CLI command. -If you've used an AI chatbot before, these interfaces will be pretty familiar to -you. You can chat with the Docker AI to get help with your Docker tasks. - -### Contextual help - Once you've enabled the Docker AI features, you'll also find references to **Ask Gordon** in various other places throughout the Docker Desktop user interface. -Whenever you encounter a button with the "sparkles" (✨) icon in the user +Whenever you encounter a button with the **Sparkles** (✨) icon in the user interface, you can use the button to get contextual support from Ask Gordon. ## Example workflows @@ -179,7 +155,7 @@ able to help you get set up: 2. Open the **Images** view in Docker Desktop and select the image. 3. Select the **Run** button. -In the _Run a new container_ dialog that opens, you should see a message about +In the **Run a new container** dialog, you should see a message about **Ask Gordon**. ![Ask Gordon hint in Docker Desktop](../../images/gordon-run-ctr.png) @@ -218,6 +194,8 @@ across several dimensions: ## Disable Ask Gordon +### For individual users + If you've enabled Ask Gordon and you want to disable it again: 1. Open the **Settings** view in Docker Desktop. @@ -225,6 +203,8 @@ If you've enabled Ask Gordon and you want to disable it again: 3. Clear the **Enable Docker AI** checkbox. 4. Select **Apply & restart**. +### For organizations + If you want to disable Ask Gordon for your entire Docker organization, using [Settings Management](/manuals/security/for-admins/hardened-desktop/settings-management/_index.md), @@ -271,4 +251,4 @@ here's how you can get in touch: the **Ask Gordon** view in Docker Desktop, or from the CLI by running the `docker ai feedback` command. -Thank you for helping us improve Ask Gordon. + diff --git a/content/manuals/desktop/features/gpu.md b/content/manuals/desktop/features/gpu.md index 494d178291..6e69184205 100644 --- a/content/manuals/desktop/features/gpu.md +++ b/content/manuals/desktop/features/gpu.md @@ -1,7 +1,7 @@ --- -title: GPU support in Docker Desktop +title: GPU support in Docker Desktop for Windows linkTitle: GPU support -weight: 80 +weight: 40 description: How to use GPU in Docker Desktop keywords: gpu, gpu support, nvidia, wsl2, docker desktop, windows toc_max: 3 @@ -13,22 +13,27 @@ aliases: > > Currently GPU support in Docker Desktop is only available on Windows with the WSL2 backend. -## Using NVIDIA GPUs with WSL2 +Docker Desktop for Windows supports NVIDIA GPU Paravirtualization (GPU-PV) on NVIDIA GPUs, allowing containers to access GPU resources for compute-intensive workloads like AI, machine learning, or video processing. -Docker Desktop for Windows supports WSL 2 GPU Paravirtualization (GPU-PV) on NVIDIA GPUs. To enable WSL 2 GPU Paravirtualization, you need: +## Prerequisites -- A machine with an NVIDIA GPU +To enable WSL 2 GPU Paravirtualization, you need: + +- A Windows machine with an NVIDIA GPU - Up to date Windows 10 or Windows 11 installation - [Up to date drivers](https://developer.nvidia.com/cuda/wsl) from NVIDIA supporting WSL 2 GPU Paravirtualization - The latest version of the WSL 2 Linux kernel. Use `wsl --update` on the command line - To make sure the [WSL 2 backend is turned on](wsl/_index.md#turn-on-docker-desktop-wsl-2) in Docker Desktop -To validate that everything works as expected, execute a `docker run` command with the `--gpus=all` flag. For example, the following will run a short benchmark on your GPU: +## Validate GPU support + +To confirm GPU access is working inside Docker, run the following: ```console $ docker run --rm -it --gpus=all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark ``` -The output will be similar to: + +This runs an n-body simulation benchmark on the GPU. The output will be similar to: ```console Run "nbody -benchmark [-numbodies=]" to measure performance. @@ -58,9 +63,16 @@ GPU Device 0: "GeForce RTX 2060 with Max-Q Design" with compute capability 7.5 = 2724.379 single-precision GFLOP/s at 20 flops per interaction ``` -Or if you wanted to try something more useful you could use the official [Ollama image](https://hub.docker.com/r/ollama/ollama) to run the Llama2 large language model. +## Run a real-world model: Llama2 with Ollama + +Use the [official Ollama image](https://hub.docker.com/r/ollama/ollama) to run the Llama2 LLM with GPU acceleration: ```console $ docker run --gpus=all -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama +``` + +Then start the model: + +```console $ docker exec -it ollama ollama run llama2 ``` diff --git a/content/manuals/desktop/features/kubernetes.md b/content/manuals/desktop/features/kubernetes.md index 264a163b06..a83083bbe1 100644 --- a/content/manuals/desktop/features/kubernetes.md +++ b/content/manuals/desktop/features/kubernetes.md @@ -20,7 +20,7 @@ Kubernetes on Docker Desktop runs alongside other workloads, including Swarm ser ## What happens when I enable Kubernetes in Docker Desktop? -When you enable Kubernetes in Docker Desktop, the following actions are triggered in the Docker Desktop backend and VM: +The following actions are triggered in the Docker Desktop backend and VM: - Generation of certificates and cluster configuration - Download and installation of Kubernetes internal components diff --git a/content/manuals/desktop/features/networking.md b/content/manuals/desktop/features/networking.md index 0c10d88c28..58d9a73c9b 100644 --- a/content/manuals/desktop/features/networking.md +++ b/content/manuals/desktop/features/networking.md @@ -2,6 +2,7 @@ description: Understand how networking works on Docker Desktop and see the known limitations keywords: networking, docker desktop, proxy, vpn, Linux, Mac, Windows title: Explore networking features on Docker Desktop +linkTitle: Networking aliases: - /desktop/linux/networking/ - /docker-for-mac/networking/ @@ -11,11 +12,10 @@ aliases: - /docker-for-windows/networking/ - /desktop/windows/networking/ - /desktop/networking/ -weight: 50 +weight: 30 --- -Docker Desktop provides several networking features to make it easier to -use. +Docker Desktop includes built-in networking capabilities to help you connect containers with services on your host, across containers, or through proxies and VPNs. ## Networking features for all platforms @@ -33,17 +33,21 @@ When you run a container with the `-p` argument, for example: $ docker run -p 80:80 -d nginx ``` -Docker Desktop makes whatever is running on port 80 in the container, in -this case, `nginx`, available on port 80 of `localhost`. In this example, the -host and container ports are the same. If, for example, you already have something running on port 80 of -your host machine, you can connect the container to a different port: +Docker Desktop makes whatever is running on port `80` in the container, in +this case, `nginx`, available on port `80` of `localhost`. In this example, the +host and container ports are the same. + +To avoid conflicts with services already using port `80` on the host: ```console $ docker run -p 8000:80 -d nginx ``` -Now, connections to `localhost:8000` are sent to port 80 in the container. The -syntax for `-p` is `HOST_PORT:CLIENT_PORT`. +Now connections to `localhost:8000` are sent to port `80` in the container. + +> [!TIP] +> +> The syntax for `-p` is `HOST_PORT:CLIENT_PORT`. ### HTTP/HTTPS Proxy support @@ -53,10 +57,6 @@ See [Proxies](/manuals/desktop/settings-and-maintenance/settings.md#proxies) {{< summary-bar feature_name="SOCKS5 proxy support" >}} -> [!NOTE] -> -> Requires a Business subscription. - SOCKS (Socket Secure) is a protocol that facilitates the routing of network packets between a client and a server through a proxy server. It provides a way to enhance privacy, security, and network performance for users and applications. You can enable SOCKS proxy support to allow outgoing requests, such as pulling images, and access Linux container backend IPs from the host. @@ -72,7 +72,7 @@ To enable and set up SOCKS proxy support: ### SSH agent forwarding -Docker Desktop on Mac and Linux allows you to use the host’s SSH agent inside a container. To do this: +Docker Desktop for Mac and Linux lets you use the host’s SSH agent inside a container. To do this: 1. Bind mount the SSH agent socket by adding the following parameter to your `docker run` command: @@ -104,9 +104,9 @@ services: ### Changing internal IP addresses -The internal IP addresses used by Docker can be changed from **Settings**. After changing IPs, it is necessary to reset the Kubernetes cluster and to leave any active Swarm. +The internal IP addresses used by Docker can be changed from **Settings**. After changing IPs, you need to reset the Kubernetes cluster and to leave any active Swarm. -### There is no docker0 bridge on the host +### There is no `docker0` bridge on the host Because of the way networking is implemented in Docker Desktop, you cannot see a `docker0` interface on the host. This interface is actually within the @@ -127,7 +127,7 @@ However if you are a Windows user, per-container IP addressing is possible with ### I want to connect from a container to a service on the host The host has a changing IP address, or none if you have no network access. -We recommend that you connect to the special DNS name `host.docker.internal`, +Docker recommends you connect to the special DNS name `host.docker.internal`, which resolves to the internal IP address used by the host. You can also reach the gateway using `gateway.docker.internal`. @@ -154,7 +154,7 @@ If you have installed Python on your machine, use the following instructions as Port forwarding works for `localhost`. `--publish`, `-p`, or `-P` all work. Ports exposed from Linux are forwarded to the host. -We recommend you publish a port, or to connect from another +Docker recommends you publish a port, or to connect from another container. This is what you need to do even on Linux if the container is on an overlay network, not a bridge network, as these are not routed. diff --git a/content/manuals/desktop/features/synchronized-file-sharing.md b/content/manuals/desktop/features/synchronized-file-sharing.md index f424fe3291..d0ca03e66e 100644 --- a/content/manuals/desktop/features/synchronized-file-sharing.md +++ b/content/manuals/desktop/features/synchronized-file-sharing.md @@ -1,6 +1,6 @@ --- title: Synchronized file shares -weight: 30 +weight: 70 description: Get started with Synchronized file shares on Docker Desktop. keyword: mutagen, file sharing, docker desktop, bind mounts aliases: @@ -40,7 +40,7 @@ After creating a file share instance, any container using a bind mount that poin To create a file share instance: 1. Sign in to Docker Desktop. 2. In **Settings**, navigate to the **File sharing** tab within the **Resources** section. -3. In the **Synchronized File Shares** section, select the **Create share** icon. +3. In the **Synchronized file shares** section, select **Create share**. 4. Select a host folder to share. The synchronized file share should initialize and be usable. File shares take a few seconds to initialize as files are copied into the Docker Desktop VM. During this time, the status indicator displays **Preparing**. There is also a status icon in the footer of the Docker Desktop Dashboard that keeps you updated. @@ -53,7 +53,7 @@ When the status indicator displays **Watching for filesystem changes**, your fil > [!TIP] > -> Compose can now automatically create file shares for bind mounts. +> Docker Compose can automatically create file shares for bind mounts. > Ensure you're signed in to Docker with a paid subscription and have enabled both **Access experimental features** and **Manage Synchronized file shares with Compose** in Docker Desktop's settings. ## Explore your file share instance @@ -93,11 +93,3 @@ In general, use your `.syncignore` file to exclude items that aren't critical to - POSIX-style Windows paths are not supported. Avoid setting the [`COMPOSE_CONVERT_WINDOWS_PATHS`](/manuals/compose/how-tos/environment-variables/envvars.md#compose_convert_windows_paths) environment variable in Docker Compose. - If you don't have the correct permissions to create symbolic links and your container attempts to create symbolic links in your file share instance, an **unable to create symbolic link** error message displays. For Windows users, see Microsoft's [Create symbolic links documentation](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/security-policy-settings/create-symbolic-links) for best practices and location of the **Create symbolic links** security policy setting. For Mac and Linux users, check that you have write permissions on the folder. - -## Feedback and support - -To give feedback or report bugs, visit: - -- [Docker Desktop for Mac issues on GitHub](https://github.com/docker/for-mac/issues) -- [Docker Desktop for Windows issues on GitHub](https://github.com/docker/for-win/issues) -- [Docker Desktop for Linux issues on GitHub](https://github.com/docker/desktop-linux/issues) diff --git a/content/manuals/desktop/features/usbip.md b/content/manuals/desktop/features/usbip.md index e5625f7937..4e833dd2e0 100644 --- a/content/manuals/desktop/features/usbip.md +++ b/content/manuals/desktop/features/usbip.md @@ -1,7 +1,7 @@ --- title: Using USB/IP with Docker Desktop linkTitle: USB/IP support -weight: 100 +weight: 50 description: How to use USB/IP in Docker Desktop keywords: usb, usbip, docker desktop, macos, windows, linux toc_max: 3 @@ -11,15 +11,11 @@ aliases: {{< summary-bar feature_name="USB/IP support" >}} -> [!NOTE] -> -> Available on Docker Desktop for Mac, Linux, and Windows with the Hyper-V backend. - USB/IP enables you to share USB devices over the network, which can then be accessed from within Docker containers. This page focuses on sharing USB devices connected to the machine you run Docker Desktop on. You can repeat the following process to attach and use additional USB devices as needed. > [!NOTE] > -> The Docker Desktop VM kernel image comes pre-configured with drivers for many common USB devices, but Docker can't guarantee every possible USB device will work with this setup. +> Docker Desktop includes built-in drivers for many common USB devices but Docker can't guarantee every possible USB device works with this setup. ## Setup and use @@ -48,6 +44,8 @@ To attach the USB device, start a privileged Docker container with the PID names $ docker run --rm -it --privileged --pid=host alpine ``` +`--privileged` gives the container full access to the host, and `--pid=host` allows it to share the host’s process namespace. + ### Step three: Enter the mount namespace of PID 1 Inside the container, enter the mount namespace of the `init` process to gain access to the pre-installed USB/IP tools: @@ -56,7 +54,7 @@ Inside the container, enter the mount namespace of the `init` process to gain ac $ nsenter -t 1 -m ``` -### Step four: Use USB/IP tools +### Step four: Use the USB/IP tools Now you can use the USB/IP tools as you would on any other system: @@ -102,7 +100,7 @@ Example output: event0 mice ``` -### Step five: Use the attached device in another container +### Step five: Access the device from another container While the initial container remains running to keep the USB device operational, you can access the attached device from another container. For example: diff --git a/content/manuals/desktop/features/vmm.md b/content/manuals/desktop/features/vmm.md index d9fbc02ee7..fc9be6f845 100644 --- a/content/manuals/desktop/features/vmm.md +++ b/content/manuals/desktop/features/vmm.md @@ -8,18 +8,18 @@ aliases: - /desktop/vmm/ --- -{{< summary-bar feature_name="VMM" >}} +Docker Desktop supports multiple Virtual Machine Managers (VMMs) to power the Linux VM that runs containers. You can choose the most suitable option based on your system architecture (Intel or Apple Silicon), performance needs, and feature requirements. This page provides an overview of the available options. -The Virtual Machine Manager (VMM) in Docker Desktop for Mac is responsible for creating and managing the virtual machine used to run containers. Depending on your system architecture and performance needs, you can choose from multiple VMM options in Docker Desktop's [settings](/manuals/desktop/settings-and-maintenance/settings.md#general). This page provides an overview of the available options. +To change the VMM, go to **Settings** > **General** > **Virtual Machine Manager**. ## Docker VMM -Docker VMM is a new, container-optimized hypervisor introduced in Docker Desktop 4.35 and available on Apple Silicon Macs only. Its enhanced speed and resource efficiency makes it an ideal choice for optimizing your workflow. +{{< summary-bar feature_name="VMM" >}} -Docker VMM brings exciting advancements specifically tailored for Apple Silicon machines. By optimizing both the Linux kernel and hypervisor layers, Docker VMM delivers significant performance enhancements across common developer tasks. +Docker VMM is a new, container-optimized hypervisor. By optimizing both the Linux kernel and hypervisor layers, Docker VMM delivers significant performance enhancements across common developer tasks. Some key performance enhancements provided by Docker VMM include: - - Faster I/O operations: With a cold cache, iterating over a large shared filesystem with `find` is 2x faster than when the Apple Virtualization Framework is used. + - Faster I/O operations: With a cold cache, iterating over a large shared filesystem with `find` is 2x faster than when the Apple Virtualization framework is used. - Improved caching: With a warm cache, performance can improve by as much as 25x, even surpassing native Mac operations. These improvements directly impact developers who rely on frequent file access and overall system responsiveness during containerized development. Docker VMM marks a significant leap in speed, enabling smoother workflows and faster iteration cycles. @@ -35,9 +35,9 @@ As Docker VMM is still in Beta, there are a few known limitations: - Docker VMM does not currently support Rosetta, so emulation of amd64 architectures is slow. Docker is exploring potential solutions. - Certain databases, like MongoDB and Cassandra, may fail when using virtiofs with Docker VMM. This issue is expected to be resolved in a future release. -## Apple Virtualization Framework +## Apple Virtualization framework -The Apple Virtualization Framework is a stable and well-established option for managing virtual machines on Mac. It has been a reliable choice for many Mac users over the years. This framework is best suited for developers who prefer a proven solution with solid performance and broad compatibility. +The Apple Virtualization framework is a stable and well-established option for managing virtual machines on Mac. It has been a reliable choice for many Mac users over the years. This framework is best suited for developers who prefer a proven solution with solid performance and broad compatibility. ## QEMU (Legacy) for Apple Silicon @@ -47,7 +47,7 @@ The Apple Virtualization Framework is a stable and well-established option for m QEMU is a legacy virtualization option for Apple Silicon Macs, primarily supported for older use cases. -Docker recommends transitioning to newer alternatives, such as Docker VMM or the Apple Virtualization Framework, as they offer superior performance and ongoing support. Docker VMM, in particular, offers substantial speed improvements and a more efficient development environment, making it a compelling choice for developers working with Apple Silicon. +Docker recommends transitioning to newer alternatives, such as Docker VMM or the Apple Virtualization framework, as they offer superior performance and ongoing support. Docker VMM, in particular, offers substantial speed improvements and a more efficient development environment, making it a compelling choice for developers working with Apple Silicon. Note that this is not related to using QEMU to emulate non-native architectures in [multi-platform builds](/manuals/build/building/multi-platform.md#qemu). diff --git a/content/manuals/desktop/features/wasm.md b/content/manuals/desktop/features/wasm.md index 7cb281a4d1..eba9c67ed0 100644 --- a/content/manuals/desktop/features/wasm.md +++ b/content/manuals/desktop/features/wasm.md @@ -1,6 +1,6 @@ --- title: Wasm workloads -weight: 20 +weight: 90 description: How to run Wasm workloads with Docker Desktop keywords: Docker, WebAssembly, wasm, containerd, engine toc_max: 3 @@ -15,13 +15,16 @@ params: {{< summary-bar feature_name="Wasm workloads" >}} -Wasm (short for WebAssembly) is a fast, light alternative to the Linux and -Windows containers you’re using in Docker today (with -[some tradeoffs](https://www.docker.com/blog/docker-wasm-technical-preview/)). +WebAssembly (Wasm) is a fast, light alternative Linux and +Windows containers. With Docker Desktop, you can now run Wasm workloads side by side with traditional containers. -This page provides information about the new ability to run Wasm applications +This page provides information about the ability to run Wasm applications alongside your Linux containers in Docker. +> [!TIP] +> +> Learn more about Wasm use cases and tradeoffs in the [Docker Wasm technical preview blog post](https://www.docker.com/blog/docker-wasm-technical-preview/). + ## Turn on Wasm workloads Wasm workloads require the [containerd image store](containerd.md) @@ -34,9 +37,7 @@ then pre-existing images and containers will be inaccessible. 4. Select **Apply & restart** to save the settings. 5. In the confirmation dialog, select **Install** to install the Wasm runtimes. -Docker Desktop downloads and installs the following runtimes that you can use -to run Wasm workloads: - +Docker Desktop downloads and installs the following runtimes: - `io.containerd.slight.v1` - `io.containerd.spin.v2` - `io.containerd.wasmedge.v1` @@ -211,16 +212,5 @@ Update your Docker Desktop to the latest version and try again. ## Known issues -- Docker Compose may not exit cleanly when interrupted - - Workaround: Clean up `docker-compose` processes by sending them a SIGKILL - (`killall -9 docker-compose`). -- Pushes to Hub might give an error stating - `server message: insufficient_scope: authorization failed`, even after logging - in using Docker Desktop - - Workaround: Run `docker login` in the CLI - -## Feedback - -Thanks for trying out Wasm workloads with Docker. Give feedback or report any -bugs you may find through the issues tracker on the -[public roadmap item](https://github.com/docker/roadmap/issues/426). +- Docker Compose may not exit cleanly when interrupted. As a workaround, clean up `docker-compose` processes by sending them a SIGKILL (`killall -9 docker-compose`). +- Pushes to Docker Hub might give an error stating `server message: insufficient_scope: authorization failed`, even after signing in through Docker Desktop. As a workaround, run `docker login` in the CLI diff --git a/content/manuals/desktop/features/wsl/_index.md b/content/manuals/desktop/features/wsl/_index.md index 3c45bb9fd9..bba84c34e9 100644 --- a/content/manuals/desktop/features/wsl/_index.md +++ b/content/manuals/desktop/features/wsl/_index.md @@ -5,7 +5,7 @@ keywords: wsl, wsl2, installing wsl2, wsl installation, docker wsl2, wsl docker, tech preview, wsl install docker, install docker wsl, how to install docker in wsl title: Docker Desktop WSL 2 backend on Windows linkTitle: WSL -weight: 90 +weight: 120 aliases: - /docker-for-windows/wsl/ - /docker-for-windows/wsl-tech-preview/ diff --git a/data/summary.yaml b/data/summary.yaml index fe53413d53..4fe1f4f086 100644 --- a/data/summary.yaml +++ b/data/summary.yaml @@ -206,18 +206,18 @@ Registry access management: subscription: [Business] for: Administrators SOCKS5 proxy support: - requires: Docker Desktop [4.28.0](/manuals/desktop/release-notes.md#4280) and later + subscription: [Business] SSO: subscription: [Business] for: Administrators Synchronized file sharing: subscription: [Pro, Team, Business] - requires: Docker Desktop [4.27](/manuals/desktop/release-notes.md#4270) and later USB/IP support: requires: Docker Desktop [4.35.0](/manuals/desktop/release-notes.md#4350) and later + for: Docker Desktop for Mac, Linux, and Windows with the Hyper-V backend VMM: - availability: Beta requires: Docker Desktop [4.35.0](/manuals/desktop/release-notes.md#4350) and later + for: Docker Desktop on Mac with Apple Silicon Wasm workloads: availability: Beta Wasmtime: