Skip to content

Commit 5e65019

Browse files
offload: enterprise beta
Signed-off-by: Craig Osterhout <[email protected]>
1 parent 13ea608 commit 5e65019

File tree

20 files changed

+250
-266
lines changed

20 files changed

+250
-266
lines changed

content/manuals/admin/organization/manage-products.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ product, including how to set up and configure them, see the following manuals:
1616
- [Docker Build Cloud](../../build-cloud/_index.md)
1717
- [Docker Scout](../../scout/_index.md)
1818
- [Testcontainers Cloud](https://testcontainers.com/cloud/docs/#getting-started)
19+
- [Docker Offload](../../offload/_index.md)
1920

2021
## Manage product access for your organization
2122

@@ -98,6 +99,27 @@ To manage access to Testcontainers Cloud:
9899
select **Account**.
99100
1. Select **Settings**, then **Lock access to Testcontainers Cloud**.
100101

102+
{{< /tab >}}
103+
{{< tab name="Docker Offload" >}}
104+
105+
### Manage Docker Offload access
106+
107+
To initially configure Docker Offload access:
108+
109+
1. Sign in to [Docker Home](https://app.docker.com/) as an organization owner.
110+
1. Select **Admin Console** > **Offload access**.
111+
1. For **Configuration**, select whether to enable or disable access to Docker Offload for your entire organization.
112+
1. If you selected to enable access, choose whether to allow GPU access.
113+
1. Select **Save**.
114+
115+
> [!NOTE]
116+
>
117+
> Docker Offload isn't included in the core Docker subscription plans and is not available to every organization. To make
118+
> Docker Offload available, you must [sign up](https://www.docker.com/products/docker-offload/) and subscribe.
119+
120+
{{< /tab >}}
121+
{{< tab name="All products" >}}
122+
101123
{{< /tab >}}
102124
{{< /tabs >}}
103125

@@ -110,6 +132,8 @@ To view usage for Docker products:
110132
- Docker Build Cloud: View the **Build minutes** page in [Docker Build Cloud](http://app.docker.com/build).
111133
- Docker Scout: View the [**Repository settings** page](https://scout.docker.com/settings/repos) in Docker Scout.
112134
- Testcontainers Cloud: View the [**Billing** page](https://app.testcontainers.cloud/dashboard/billing) in Testcontainers Cloud.
135+
- Docker Offload: View the **Offload** > **Offload overview** page in [Docker Home](https://app.docker.com/). For more details, see
136+
[Docker Offload usage and billing](/offload/usage/).
113137

114138
If your usage or seat count exceeds your subscription amount, you can
115139
[scale your subscription](../../subscription/scale.md) to meet your needs.

content/manuals/desktop/settings-and-maintenance/settings.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -519,3 +519,15 @@ On Mac, you can reconfigure your initial installation settings on the **Advance
519519
- **Allow privileged port mapping (Requires password)**. Starts the privileged helper process which binds the ports that are between 1 and 1024. For more information, see [permission requirements for macOS](/manuals/desktop/setup/install/mac-permission-requirements.md#binding-privileged-ports).
520520

521521
For more information on each configuration and use case, see [Permission requirements](/manuals/desktop/setup/install/mac-permission-requirements.md).
522+
523+
## Docker Offload
524+
525+
When signed in with a Docker account that has access to [Docker Offload](../../offload/_index.md), you can manage your
526+
Offload settings from the **Docker Offload** tab.
527+
528+
Use the **Docker Offload** tab to:
529+
530+
- Toggle **Enable Docker Offload**. When enabled, you can start Offload sessions.
531+
- Select **Idle timeout**. This is the duration of time between no activity and Docker Offload entering idle mode.For
532+
details about idle timeout, see [Active and idle states](../../offload/configuration.md#understand-active-and-idle-states)
533+
- Check **Enable GPU support**. When enabled, workloads can use cloud GPU if available.

content/manuals/desktop/setup/vm-vdi.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,16 @@ depending on whether nested virtualization is supported:
1616

1717
- If your environment supports nested virtualization, you can run Docker Desktop
1818
with its default local Linux VM.
19-
- If nested virtualization is not supported, Docker recommends using [Docker
20-
Offload](/offload/).
19+
- If nested virtualization is not supported, Docker recommends subscribing to and using [Docker Offload](/offload/).
2120

2221
## Use Docker Offload
2322

2423
Docker Offload lets you offload container workloads to a high-performance, fully
2524
hosted cloud environment, enabling a seamless hybrid experience.
2625

27-
Docker Offload is useful in virtual desktop environments where nested
28-
virtualization isn't supported. In these environments, Docker Desktop defaults
29-
to using Docker Offload to ensure you can still build and run containers without
30-
relying on local virtualization.
26+
Docker Offload is useful in virtual desktop environments where nested virtualization isn't supported. In these
27+
environments, Docker Desktop can use Docker Offload to ensure you can still build and run containers without relying on
28+
local virtualization.
3129

3230
Docker Offload decouples the Docker Desktop client from the Docker Engine,
3331
allowing the Docker CLI and Docker Desktop Dashboard to interact with

content/manuals/enterprise/security/hardened-desktop/settings-management/settings-reference.md

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -900,20 +900,6 @@ deployment of AI features in security-conscious organizations.
900900
- **Beta** settings in [Docker Desktop GUI](/manuals/desktop/settings-and-maintenance/settings.md)
901901
- Settings Management: `enableDockerMCPToolkit` setting in the [`admin-settings.json` file](/manuals/enterprise/security/hardened-desktop/settings-management/configure-json-file.md)
902902

903-
### Enable Docker Offload
904-
905-
| Default value | Accepted values | Format |
906-
|---------------|-----------------|----------|
907-
| `false` | `true`, `false` | Boolean |
908-
909-
- **Description:** Enable [Docker Offload](/offload/) in Docker Desktop.
910-
- **OS:** {{< badge color=blue text="All" >}}
911-
- **Use case:** Offload building and running containers to the cloud.
912-
- **Configure this setting with:**
913-
- **Beta** settings in [Docker Desktop GUI](/manuals/desktop/settings-and-maintenance/settings.md)
914-
- Settings Management: `enableCloud` setting in the [`admin-settings.json` file](/manuals/enterprise/security/hardened-desktop/settings-management/configure-json-file.md)
915-
- Settings Management: **Enable Docker Cloud** setting in the [Admin Console](/manuals/enterprise/security/hardened-desktop/settings-management/configure-admin-console.md)
916-
917903
### Enable Wasm
918904

919905
| Default value | Accepted values | Format |

content/manuals/offload/_index.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ aliases:
5555

5656
Docker Offload is a fully managed service that lets you offload building and
5757
running containers to the cloud using the Docker tools you already know. It
58-
provides cloud infrastructure for fast, consistent builds and compute-heavy
58+
enables developers to work efficiently in virtual desktop infrastructure (VDI)
59+
environments or systems that don't support nested virtualization, while also
60+
providing cloud infrastructure for fast, consistent builds and compute-heavy
5961
workloads like running LLMs or machine learning pipelines.
6062

6163
In the following topics, learn about Docker Offload, how to set it up, use it

content/manuals/offload/about.md

Lines changed: 14 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -3,39 +3,36 @@ title: About Docker Offload
33
linktitle: About
44
weight: 15
55
description: Learn about Docker Offload, its features, and how it works.
6-
keywords: cloud, build, remote builder
6+
keywords: cloud, offload, vdi, on-demand gpu, gpu
77
---
88

99
Docker Offload is a fully managed service for building and running containers in
1010
the cloud using the Docker tools you already know, including Docker Desktop, the
1111
Docker CLI, and Docker Compose. It extends your local development workflow into a
12-
scalable, cloud-powered environment, so you can offload compute-heavy tasks,
13-
accelerate builds, and securely manage container workloads across the software
14-
lifecycle.
12+
scalable, cloud-powered environment, enabling developers to work efficiently even
13+
in virtual desktop infrastructure (VDI) environments or systems that don't support
14+
nested virtualization.
1515

1616
Docker Offload also supports GPU-accelerated instances, allowing you to
17-
containerize and run compute-intensive workloads such as Docker Model Runner and
17+
containerize and run compute-intensive workloads such as running models and
1818
other machine learning or data processing tasks that benefit from GPU.
1919

2020
## Key features
2121

2222
Docker Offload includes the following capabilities to support modern container
2323
workflows:
2424

25-
- Cloud-based builds: Execute builds on remote, fully managed BuildKit instances
2625
- GPU acceleration: Use NVIDIA L4 GPU-backed environments for machine learning,
2726
media processing, and other compute-intensive workloads.
2827
- Ephemeral cloud runners: Automatically provision and tear down cloud
2928
environments for each container session.
30-
- Shared build cache: Speed up build times across machines and teammates with a
31-
smart, shared cache layer.
3229
- Hybrid workflows: Seamlessly transition between local and remote execution
3330
using Docker Desktop or CLI.
3431
- Secure communication: Use encrypted tunnels between Docker Desktop and cloud
3532
environments with support for secure secrets and image pulling.
3633
- Port forwarding and bind mounts: Retain a local development experience even
3734
when running containers in the cloud.
38-
- VDI-friendly: Use Docker Offload in virtual desktop environments or systems that
35+
- VDI-friendly: [Use Docker Desktop](../desktop/setup/vm-vdi.md) in virtual desktop environments or systems that
3936
don't support nested virtualization.
4037

4138
## Why use Docker Offload?
@@ -44,7 +41,6 @@ Docker Offload is designed to support modern development teams working across
4441
local and cloud environments. It helps you:
4542

4643
- Offload heavy builds and runs to fast, scalable infrastructure
47-
- Accelerate feedback loops in development and testing
4844
- Run containers that require more resources than your local setup can provide
4945
- Build and run AI apps with instant access to GPU-powered environments
5046
- Use Docker Compose to manage complex, multi-service apps that need cloud
@@ -61,39 +57,16 @@ local tools.
6157
Docker Offload replaces the need to build or run containers locally by connecting
6258
Docker Desktop to secure, dedicated cloud resources.
6359

64-
### Building with Docker Offload
65-
66-
When you use Docker Offload for builds, the `docker buildx build` command sends
67-
the build request to a remote BuildKit instance in the cloud, instead of
68-
executing it locally. Your workflow stays the same, only the execution
69-
environment changes.
70-
71-
The build runs on infrastructure provisioned and managed by Docker:
72-
73-
- Each cloud builder is an isolated Amazon EC2 instance with its own EBS volume
74-
- Remote builders use a shared cache to speed up builds across machines and
75-
teammates
76-
- Build results are encrypted in transit and sent to your specified destination
77-
(such as a registry or local image store)
78-
79-
Docker Offload manages the lifecycle of builders automatically. There's no need to
80-
provision or maintain infrastructure.
81-
82-
> [!NOTE]
83-
>
84-
> Docker Offload builders are currently hosted in the United States East region. Users in
85-
> other regions may experience increased latency.
86-
8760
### Running containers with Docker Offload
8861

89-
When you use Docker Offload to run containers, a Docker Desktop creates a secure
62+
When you use Docker Offload to build or run containers, a Docker Desktop creates a secure
9063
SSH tunnel to a Docker daemon running in the cloud. Your containers are started
9164
and managed entirely in that remote environment.
9265

9366
Here's what happens:
9467

9568
1. Docker Desktop connects to the cloud and triggers container creation.
96-
2. Docker Offload pulls the required images and starts containers in the cloud.
69+
2. Docker Offload builds or pulls the required images and starts containers in the cloud.
9770
3. The connection stays open while the containers run.
9871
4. When the containers stop running, the environment shuts down and is cleaned
9972
up automatically.
@@ -105,7 +78,7 @@ using environments such as virtual desktops, cloud-hosted development machines,
10578
or older hardware.
10679

10780
Docker Offload also supports GPU-accelerated workloads. Containers that require
108-
GPU access can run on cloud instances provisioned with NVIDIA L4 GPUs for
81+
GPU access can run on cloud instances provisioned with NVIDIA GPUs for
10982
efficient AI inferencing, media processing, and general-purpose GPU
11083
acceleration. This enables compute-heavy workflows such as model evaluation,
11184
image processing, and hardware-accelerated CI tests to run seamlessly in the
@@ -115,11 +88,11 @@ Despite running remotely, features like bind mounts and port forwarding continue
11588
to work seamlessly, providing a local-like experience from within Docker Desktop
11689
and the CLI.
11790

118-
Docker Offload provisions an ephemeral cloud environment for each session. The
119-
environment remains active while you are interacting with Docker Desktop or
120-
actively using containers. If no activity is detected for about 5 minutes, the
121-
session shuts down automatically. This includes any containers, images, or
122-
volumes in that environment, which are deleted when the session ends.
91+
Docker Offload automatically transitions between active and idle states based on
92+
usage. You're only charged when actively building or running containers. When
93+
idle for more than 5 minutes, the session ends and resources are cleaned up. For
94+
details about how this works and how to configure idle timeout, see [Active and
95+
idle states](configuration.md#understand-active-and-idle-states).
12396

12497
## What's next
12598

content/manuals/offload/configuration.md

Lines changed: 48 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -3,102 +3,73 @@ title: Configure Docker Offload
33
linktitle: Configure
44
weight: 20
55
description: Learn how to configure build settings for Docker Offload.
6-
keywords: cloud, configuration, settings, cloud builder, GPU, disk allocation, private resources, firewall
6+
keywords: cloud, configuration, settings, offload, gpu
77
---
88

9-
To use Docker Offload, you must start it in Docker Desktop. For more details,
10-
see the [Docker Offload quickstart](/offload/quickstart/).
9+
You can configure Docker Offload settings at different levels depending on your role. Organization owners can manage
10+
settings for all users in their organization, while individual developers can configure their own Docker Desktop
11+
settings.
1112

12-
Settings for the cloud builders in Docker Offload can be further configured, in
13-
addition to settings for an entire organization, through **Offload settings** in
14-
the Docker Offload dashboard.
13+
## Manage settings for your organization
1514

16-
> [!NOTE]
17-
>
18-
> To view usage and configure billing for Docker Offload, see [Docker Offload
19-
> usage and billing](/offload/usage/).
20-
21-
## Offload settings
22-
23-
The **Offload settings** page in Docker Home lets you configure disk
24-
allocation, private resource access, and firewall settings for your cloud
25-
builders in your organization.
15+
For organization owners, you can manage Docker Offload settings for all users in your organization. For more details,
16+
see [Manage Docker products](../admin/organization/manage-products.md). To view usage and configure billing for Docker
17+
Offload, see [Docker Offload usage and billing](/offload/usage/).
2618

27-
To view the **Offload settings** page:
19+
## Configure settings in Docker Desktop
2820

29-
1. Go to [Docker Home](https://app.docker.com/).
30-
2. Select the account for which you want to manage Docker Offload.
31-
3. Select **Offload** > **Offload settings**.
21+
For developers, you can manage Docker Offload settings in Docker Desktop. To manage settings:
3222

33-
The following sections describe the available settings.
23+
1. Open the Docker Desktop Dashboard and sign in.
24+
2. Select the settings icon in the Docker Desktop Dashboard header.
25+
3. In **Settings**, select **Docker Offload**.
3426

35-
### Disk allocation
27+
Here you can:
3628

37-
The **Disk allocation** setting lets you control how much of the available
38-
storage is dedicated to the build cache. A lower allocation increases storage
39-
available for active builds.
29+
- Toggle **Enable Docker Offload**. When enabled, you can start Offload sessions.
30+
- Select **Idle timeout**. This is the duration of time between no activity and Docker Offload entering idle mode.
31+
For details about idle timeout, see [Understand active and idle states](#understand-active-and-idle-states).
32+
- Check **Enable GPU support**. When enabled, workloads can use cloud GPU if available.
4033

41-
Adjust the **Disk allocation** slider to specify the percentage of storage used
42-
for build caching.
43-
44-
Any changes take effect immediately.
45-
46-
> [!TIP]
47-
>
48-
> If you build very large images, consider allocating less storage for caching.
34+
### Understand active and idle states
4935

50-
### Build cache space
36+
Docker Offload automatically transitions between active and idle states to help
37+
you control costs while maintaining a seamless development experience.
5138

52-
Your subscription includes the following Build cache space:
39+
#### When your session is active
5340

54-
| Subscription | Build cache space |
55-
|--------------|-------------------|
56-
| Personal | N/A |
57-
| Pro | 50GB |
58-
| Team | 100GB |
59-
| Business | 200GB |
41+
Your Docker Offload environment is active when you're building images, running
42+
containers, or actively interacting with them, such as viewing logs or
43+
maintaining an open network connection. During active state:
6044

61-
To get more Build cache space, [upgrade your subscription](/manuals/subscription/change.md).
45+
- Usage is charged
46+
- A remote Docker Engine is connected to your local machine
47+
- All container operations execute in the cloud environment
6248

63-
### Private resource access
49+
#### When your session is idle
6450

65-
Private resource access lets cloud builders pull images and packages from
66-
private resources. This feature is useful when builds rely on self-hosted
67-
artifact repositories or private OCI registries.
51+
When there's no activity, Docker Offload transitions to idle state. During idle
52+
state:
6853

69-
For example, if your organization hosts a private [PyPI](https://pypi.org/)
70-
repository on a private network, Docker Build Cloud would not be able to access
71-
it by default, since the cloud builder is not connected to your private network.
54+
- You are not charged for usage
55+
- The remote connection is suspended
56+
- No containers are running in the cloud
7257

73-
To enable your cloud builders to access your private resources, enter the host
74-
name and port of your private resource and then select **Add**.
58+
The idle transition delay can be configured in Docker Desktop settings, ranging
59+
from 10 seconds to 1 hour. This setting determines how long Docker Offload
60+
waits after detecting inactivity before transitioning to idle state.
7561

76-
#### Authentication
62+
#### How your session is preserved
7763

78-
If your internal artifacts require authentication, make sure that you
79-
authenticate with the repository either before or during the build. For internal
80-
package repositories for npm or PyPI, use [build
81-
secrets](/manuals/build/building/secrets.md) to authenticate during the build.
82-
For internal OCI registries, use `docker login` to authenticate before building.
64+
If your session has been idle for less than 5 minutes and you resume activity,
65+
your previous containers and images are preserved and remain available. This
66+
allows you to pick up right where you left off.
8367

84-
Note that if you use a private registry that requires authentication, you will
85-
need to authenticate with `docker login` twice before building. This is because
86-
the cloud builder needs to authenticate with Docker to use the cloud builder,
87-
and then again to authenticate with the private registry.
88-
89-
```console
90-
$ echo $DOCKER_PAT | docker login docker.io -u <username> --password-stdin
91-
$ echo $REGISTRY_PASSWORD | docker login registry.example.com -u <username> --password-stdin
92-
$ docker build --builder <cloud-builder> --tag registry.example.com/<image> --push .
93-
```
94-
95-
### Firewall
96-
97-
Firewall settings let you restrict cloud builder egress traffic to specific IP
98-
addresses. This helps enhance security by limiting external network egress from
99-
the builder.
100-
101-
1. Select **Enable firewall: Restrict cloud builder egress to specific public IP address**.
102-
2. Enter the IP address you want to allow.
103-
3. Select **Add** to apply the restriction.
68+
However, if the idle period exceeds 5 minutes, a new session starts with a
69+
clean environment and any containers, images, or volumes from the previous
70+
session are deleted.
10471

72+
> [!NOTE]
73+
>
74+
> Transitioning from active to idle and back to active within 5 minutes will be
75+
> charged as continuous usage.
1.41 KB
Loading
47.7 KB
Loading

0 commit comments

Comments
 (0)