Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
91 changes: 86 additions & 5 deletions content/manuals/desktop/setup/vm-vdi.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,91 @@ aliases:
weight: 30
---

Docker recommends running Docker Desktop natively on Mac, Linux, or Windows. However, Docker Desktop for Windows can run inside a virtual desktop provided the virtual desktop is properly configured.
Docker recommends running Docker Desktop natively on Mac, Linux, or Windows. However, Docker Desktop for Windows can run inside a virtual desktop provided the virtual desktop is properly configured.

To run Docker Desktop in a virtual desktop environment, it is essential nested virtualization is enabled on the virtual machine that provides the virtual desktop. This is because, under the hood, Docker Desktop is using a Linux VM in which it runs Docker Engine and the containers.
To run Docker Desktop in a virtual desktop environment, you have two options,
depending on whether nested virtualization is supported:

## Virtual desktop support
- If your environment supports nested virtualization, you can run Docker Desktop
with its default local Linux VM.
- If nested virtualization is not supported, Docker recommends using Docker
Cloud. To join the beta, contact Docker at `[email protected]`.

## Use Docker Cloud mode

{{< summary-bar feature_name="Docker Cloud" >}}

Docker Cloud mode lets you offload container workloads to a high-performance,
fully hosted cloud environment, enabling a seamless hybrid experience. It
includes an insights dashboard that offers performance metrics and environment
management to help optimize your development workflow.

This mode is useful in virtual desktop environments where nested virtualization
isn't supported. In these environments, Docker Desktop defaults to using Docker
Cloud mode to ensure you can still build and run containers without relying on
local virtualization.

Docker Cloud mode decouples the Docker Desktop client from the Docker Engine,
allowing the Docker CLI and Docker Desktop Dashboard to interact with
cloud-based resources as if they were local. When you run a container, Docker
provisions a secure, isolated, and ephemeral cloud environment connected to
Docker Desktop via an SSH tunnel. Despite running remotely, features like bind
mounts and port forwarding continue to work seamlessly, providing a local-like
experience. To use Docker Cloud mode:

1. Contact Docker at `[email protected]` to activate the feature for your
account.
2. [Install Docker Desktop](/manuals/desktop/setup/install/windows-install.md#install-docker-desktop-on-windows)
version 4.42 or later on your Windows virtual desktop.
3. [Start Docker Desktop](/manuals/desktop/setup/install/windows-install.md#start-docker-desktop).
4. Sign in to Docker Desktop.

After you sign in, Docker Cloud mode is enabled by default and cannot be
disabled. When enabled, Docker Desktop's Dashboard header appears purple and the
cloud mode toggle is a cloud icon ({{< inline-image
src="./images/cloud-mode.png" alt="Cloud mode icon" >}}).

In this mode, Docker Desktop mirrors your cloud environment, providing
a seamless view of your containers and resources running on Docker Cloud. You
can verify that Docker Cloud mode is working by running a simple container. In a
terminal on your virtual desktop, run the following command:

```console
$ docker run hello-world
```

In the terminal, you will see `Hello from Docker!` if everything is working
correctly.

### View insights and manage Docker Cloud

For insights and management, use the [Docker Cloud
Dashboard](https://app.docker.com/cloud). It provides visibility into your
builds, runs, and cloud resource usage. Key features include:

- Overview: Monitor cloud usage, build cache, and top repositories built.
- Build history: Review past builds with filtering and sorting options.
- Run history: Track container runs and sort by various options.
- Integrations: Learn how to set up cloud builders and runners for your CI
pipeline.
- Settings: Manage cloud builders, usage, and account settings.

Access the Docker Cloud Dashboard at https://app.docker.com/cloud.

### Limitations

The following limitations apply when using Docker Cloud mode:

- Persistence: Containers are launched in a cloud engine that remains available
as long as you interact with and consume the containers' output. After closing
Docker Desktop, or about 30 minutes of inactivity, the engine is shut down and
becomes inaccessible, along with any data stored in it, including images,
containers, and volumes. A new engine is provisioned for any new workloads.
- Usage and billing: During beta, no charges are incurred for using Docker Cloud
resources. Docker enforces a usage cap and reserves the right to disable
Docker Cloud access at any time.

## Virtual desktop support when using nested virtualization

> [!NOTE]
>
Expand All @@ -33,7 +113,8 @@ Docker does not support running multiple instances of Docker Desktop on the same

## Turn on nested virtualization

You must turn on nested virtualization before you install Docker Desktop on a virtual machine.
You must turn on nested virtualization before you install Docker Desktop on a
virtual machine that will not use Docker Cloud mode.

### Turn on nested virtualization on VMware ESXi

Expand All @@ -55,7 +136,7 @@ If using Windows container mode, confirm that the Nutanix environment supports H

### Supported configurations

Docker Desktop follows the VDI support definitions outlined [previously](#virtual-desktop-support):
Docker Desktop follows the VDI support definitions outlined [previously](#virtual-desktop-support-when-using-nested-virtualization):

- Persistent VDI environments (Supported): You receive the same virtual desktop instance across sessions, preserving installed software and configurations.

Expand Down
3 changes: 3 additions & 0 deletions data/summary.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,9 @@ Docker Build Cloud:
subscription: [Pro, Team, Business]
Docker CLI OpenTelemetry:
requires: Docker Engine [26.1.0](/manuals/engine/release-notes/26.1.md#2610) and later
Docker Cloud:
availability: Beta
requires: Docker Desktop 4.42 and later
docker compose alpha:
availability: Experimental
Docker Debug:
Expand Down