Skip to content
Closed
Show file tree
Hide file tree
Changes from all 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
14 changes: 14 additions & 0 deletions content/manuals/admin/organization/manage-products.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ product, including how to set up and configure them, see the following manuals:
- [Docker Build Cloud](../../build-cloud/_index.md)
- [Docker Scout](../../scout/_index.md)
- [Testcontainers Cloud](https://testcontainers.com/cloud/docs/#getting-started)
- [Docker Offload](../../offload/_index.md)

## Manage product access for your organization

Expand Down Expand Up @@ -98,6 +99,18 @@ To manage access to Testcontainers Cloud:
select **Account**.
1. Select **Settings**, then **Lock access to Testcontainers Cloud**.

{{< /tab >}}
{{< tab name="Docker Offload" >}}

### Manage Docker Offload access

Docker Offload access is set inside the Docker Desktop Dashboard. To manage Docker Desktop settings for your
organization, you can use Setttings Management.

Follow the instructions at [Configure Settings Management with the Admin
Console](/enterprise/security/hardened-desktop/settings-management/configure-admin-console/) and set the **Enable Docker
Offload** setting to your desired value.

{{< /tab >}}
{{< /tabs >}}

Expand All @@ -110,6 +123,7 @@ To view usage for Docker products:
- Docker Build Cloud: View the **Build minutes** page in [Docker Build Cloud](http://app.docker.com/build).
- Docker Scout: View the [**Repository settings** page](https://scout.docker.com/settings/repos) in Docker Scout.
- Testcontainers Cloud: View the [**Billing** page](https://app.testcontainers.cloud/dashboard/billing) in Testcontainers Cloud.
- Docker Offload: View the **Docker Offload** > **Usage summary** page in [Docker Billing](https://app.docker.com/billing).

If your usage or seat count exceeds your subscription amount, you can
[scale your subscription](../../subscription/scale.md) to meet your needs.
7 changes: 3 additions & 4 deletions content/manuals/desktop/setup/vm-vdi.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,9 @@ depending on whether nested virtualization is supported:
Docker Offload lets you offload container workloads to a high-performance, fully
hosted cloud environment, enabling a seamless hybrid experience.

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

Docker Offload decouples the Docker Desktop client from the Docker Engine,
allowing the Docker CLI and Docker Desktop Dashboard to interact with
Expand Down
16 changes: 6 additions & 10 deletions content/manuals/offload/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,10 @@
title: Docker Offload
weight: 15
description: Find documentation on Docker Offload to help you build and run your container images faster, both locally and in CI
keywords: build, cloud, cloud build, remote builder
keywords: cloud, offload, vdi
params:
sidebar:
group: Products
badge:
color: blue
text: Beta

grid:

Expand Down Expand Up @@ -53,12 +50,11 @@ aliases:

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

Docker Offload is a fully managed service that lets you offload building and
running containers to the cloud using the Docker tools you already know. It
provides cloud infrastructure for fast, consistent builds and compute-heavy
workloads like running LLMs or machine learning pipelines.
Docker Offload is a fully managed service that extends [Docker Desktop](/desktop/) to build and run containers in the
cloud. For developers working in virtual desktop infrastructure (VDI) or on systems that don't support
nested virtualization, it enables full Docker functionality without the need for local compute resources.

In the following topics, learn about Docker Offload, how to set it up, use it
for your workflows, and troubleshoot common issues.
In the following topics, learn about Docker Offload, how to set it up, use it for your workflows, and troubleshoot
common issues.

{{< grid >}}
132 changes: 31 additions & 101 deletions content/manuals/offload/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,124 +3,54 @@ title: About Docker Offload
linktitle: About
weight: 15
description: Learn about Docker Offload, its features, and how it works.
keywords: cloud, build, remote builder
keywords: cloud, vdi, offload
---

Docker Offload is a fully managed service for building and running containers in
the cloud using the Docker tools you already know, including Docker Desktop, the
Docker CLI, and Docker Compose. It extends your local development workflow into a
scalable, cloud-powered environment, so you can offload compute-heavy tasks,
accelerate builds, and securely manage container workloads across the software
lifecycle.

Docker Offload also supports GPU-accelerated instances, allowing you to
containerize and run compute-intensive workloads such as Docker Model Runner and
other machine learning or data processing tasks that benefit from GPU.
Docker Offload is a fully managed service designed for developers working in virtual
desktop infrastructure (VDI) environments or on systems that don't support nested
virtualization. It lets you use Docker Desktop to build and run containers in
the cloud, providing full Docker functionality without the need for local compute
resources or nested virtualization support.

## Key features

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

- Cloud-based builds: Execute builds on remote, fully managed BuildKit instances
- GPU acceleration: Use NVIDIA L4 GPU-backed environments for machine learning,
media processing, and other compute-intensive workloads.
- Ephemeral cloud runners: Automatically provision and tear down cloud
environments for each container session.
- Shared build cache: Speed up build times across machines and teammates with a
smart, shared cache layer.
- Hybrid workflows: Seamlessly transition between local and remote execution
using Docker Desktop or CLI.
- Secure communication: Use encrypted tunnels between Docker Desktop and cloud
environments with support for secure secrets and image pulling.
- Port forwarding and bind mounts: Retain a local development experience even
when running containers in the cloud.
- VDI-friendly: Use Docker Offload in virtual desktop environments or systems that
don't support nested virtualization.

## Why use Docker Offload?

Docker Offload is designed to support modern development teams working across
local and cloud environments. It helps you:
Docker Offload includes the following capabilities to support modern container workflows:

- Offload heavy builds and runs to fast, scalable infrastructure
- Accelerate feedback loops in development and testing
- Run containers that require more resources than your local setup can provide
- Build and run AI apps with instant access to GPU-powered environments
- Use Docker Compose to manage complex, multi-service apps that need cloud
resources
- Maintain consistent environments without managing custom infrastructure
- Develop efficiently in restricted or low-powered environments like VDIs

Docker Offload is ideal for high-velocity development workflows
that need the flexibility of the cloud without sacrificing the simplicity of
local tools.
- VDI-friendly: [Run Docker Desktop for Windows in a VM or VDI environment](/desktop/setup/vm-vdi/) without nested
virtualization.
- Ephemeral cloud runners: Automatically provision and tear down cloud environments for each container session.
- Secure communication: Use encrypted tunnels between Docker Desktop and the cloud environment.
- Port forwarding and bind mounts: Retain a local development experience even when running containers in the cloud.

## How Docker Offload works

Docker Offload replaces the need to build or run containers locally by connecting
Docker Desktop to secure, dedicated cloud resources.

### Building with Docker Offload

When you use Docker Offload for builds, the `docker buildx build` command sends
the build request to a remote BuildKit instance in the cloud, instead of
executing it locally. Your workflow stays the same, only the execution
environment changes.
Docker Offload replaces the need to build or run containers locally by connecting Docker Desktop to secure, dedicated
cloud resources.

The build runs on infrastructure provisioned and managed by Docker:
When you use Docker Offload to build images or run containers, Docker Desktop creates a secure SSH tunnel to a Docker
daemon running in the cloud. Your images are built and containers are started and managed entirely in that remote
environment.

- Each cloud builder is an isolated Amazon EC2 instance with its own EBS volume
- Remote builders use a shared cache to speed up builds across machines and
teammates
- Build results are encrypted in transit and sent to your specified destination
(such as a registry or local image store)

Docker Offload manages the lifecycle of builders automatically. There's no need to
provision or maintain infrastructure.

> [!NOTE]
>
> Docker Offload builders are currently hosted in the United States East region. Users in
> other regions may experience increased latency.

### Running containers with Docker Offload

When you use Docker Offload to run containers, a Docker Desktop creates a secure
SSH tunnel to a Docker daemon running in the cloud. Your containers are started
and managed entirely in that remote environment.

Here's what happens:
Here's what happens when you run containers:

1. Docker Desktop connects to the cloud and triggers container creation.
2. Docker Offload pulls the required images and starts containers in the cloud.
2. Docker Offload pulls or builds the required images and starts containers in the cloud.
3. The connection stays open while the containers run.
4. When the containers stop running, the environment shuts down and is cleaned
up automatically.

This setup avoids the overhead of running containers locally and enables fast,
reliable containers even on low-powered machines, including machines that do not
support nested virtualization. This makes Docker Offload ideal for developers
using environments such as virtual desktops, cloud-hosted development machines,
or older hardware.
4. When the containers stop running, the environment shuts down and is cleaned up automatically.

Docker Offload also supports GPU-accelerated workloads. Containers that require
GPU access can run on cloud instances provisioned with NVIDIA L4 GPUs for
efficient AI inferencing, media processing, and general-purpose GPU
acceleration. This enables compute-heavy workflows such as model evaluation,
image processing, and hardware-accelerated CI tests to run seamlessly in the
cloud.
This setup avoids the overhead of running containers locally and enables fast, reliable containers even on low-powered
machines, including machines that do not support nested virtualization. This makes Docker Offload ideal for developers
using environments such as virtual desktops, cloud-hosted development machines, or older hardware.

Despite running remotely, features like bind mounts and port forwarding continue
to work seamlessly, providing a local-like experience from within Docker Desktop
and the CLI.
Despite running remotely, features like bind mounts and port forwarding continue to work seamlessly, providing a
local-like experience from within Docker Desktop and the CLI.

Docker Offload provisions an ephemeral cloud environment for each session. The
environment remains active while you are interacting with Docker Desktop or
actively using containers. If no activity is detected for about 5 minutes, the
session shuts down automatically. This includes any containers, images, or
volumes in that environment, which are deleted when the session ends.
Docker Offload provisions an ephemeral cloud environment for each session. The environment remains active while you are
interacting with Docker Desktop or actively using containers. If no activity is detected for about 5 minutes, the
session shuts down automatically. This includes any containers, images, or volumes in that environment, which are
deleted when the session ends.

## What's next

Get hands-on with Docker Offload by following the [Docker Offload quickstart](/offload/quickstart/).
[Contact sales](https://www.docker.com/pricing/contact-sales/) to subscribe to Docker Offload, and [get
started](/offload/quickstart) using it.
105 changes: 18 additions & 87 deletions content/manuals/offload/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,102 +3,33 @@ title: Configure Docker Offload
linktitle: Configure
weight: 20
description: Learn how to configure build settings for Docker Offload.
keywords: cloud, configuration, settings, cloud builder, GPU, disk allocation, private resources, firewall
keywords: cloud, configuration, settings, offload, idle, timeout
---

To use Docker Offload, you must start it in Docker Desktop. For more details,
see the [Docker Offload quickstart](/offload/quickstart/).

Settings for the cloud builders in Docker Offload can be further configured, in
addition to settings for an entire organization, through **Offload settings** in
the Docker Offload dashboard.
{{< summary-bar feature_name="Docker Offload" >}}

> [!NOTE]
>
> To view usage and configure billing for Docker Offload, see [Docker Offload
> usage and billing](/offload/usage/).

## Offload settings

The **Offload settings** page in Docker Home lets you configure disk
allocation, private resource access, and firewall settings for your cloud
builders in your organization.

To view the **Offload settings** page:

1. Go to [Docker Home](https://app.docker.com/).
2. Select the account for which you want to manage Docker Offload.
3. Select **Offload** > **Offload settings**.

The following sections describe the available settings.

### Disk allocation

The **Disk allocation** setting lets you control how much of the available
storage is dedicated to the build cache. A lower allocation increases storage
available for active builds.

Adjust the **Disk allocation** slider to specify the percentage of storage used
for build caching.

Any changes take effect immediately.

> [!TIP]
> All free trial usage granted for the Docker Offload Beta expire after 90 days from the time they are granted. To
> continue using Docker Offload Beta after your usage expires, you can enable on-demand usage at [Docker Home
> Billing](https://app.docker.com/billing).
>
> If you build very large images, consider allocating less storage for caching.

### Build cache space

Your subscription includes the following Build cache space:

| Subscription | Build cache space |
|--------------|-------------------|
| Personal | N/A |
| Pro | 50GB |
| Team | 100GB |
| Business | 200GB |

To get more Build cache space, [upgrade your subscription](/manuals/subscription/change.md).

### Private resource access

Private resource access lets cloud builders pull images and packages from
private resources. This feature is useful when builds rely on self-hosted
artifact repositories or private OCI registries.

For example, if your organization hosts a private [PyPI](https://pypi.org/)
repository on a private network, Docker Build Cloud would not be able to access
it by default, since the cloud builder is not connected to your private network.

To enable your cloud builders to access your private resources, enter the host
name and port of your private resource and then select **Add**.

#### Authentication

If your internal artifacts require authentication, make sure that you
authenticate with the repository either before or during the build. For internal
package repositories for npm or PyPI, use [build
secrets](/manuals/build/building/secrets.md) to authenticate during the build.
For internal OCI registries, use `docker login` to authenticate before building.
> Implementation and settings for the Docker Offload Beta may differ from the General Availability (GA) release. The
> following topic describes the user experience for the GA release.

Note that if you use a private registry that requires authentication, you will
need to authenticate with `docker login` twice before building. This is because
the cloud builder needs to authenticate with Docker to use the cloud builder,
and then again to authenticate with the private registry.
For organization owners, you can manage Docker Offload settings for all users in your organization. For more details,
see [Manage Docker products](../admin/organization/manage-products.md). To view usage and configure billing for Docker
Offload, see [Docker Offload usage and billing](/offload/usage/).

```console
$ echo $DOCKER_PAT | docker login docker.io -u <username> --password-stdin
$ echo $REGISTRY_PASSWORD | docker login registry.example.com -u <username> --password-stdin
$ docker build --builder <cloud-builder> --tag registry.example.com/<image> --push .
```

### Firewall
For developers, you can manage Docker Offload settings in Docker Desktop. To manage settings:

Firewall settings let you restrict cloud builder egress traffic to specific IP
addresses. This helps enhance security by limiting external network egress from
the builder.
1. Open the Docker Desktop Dashboard and sign in.
2. Select the settings icon in the Docker Desktop Dashboard header.
3. In **Settings**, select **Docker Offload**.

1. Select **Enable firewall: Restrict cloud builder egress to specific public IP address**.
2. Enter the IP address you want to allow.
3. Select **Add** to apply the restriction.
Here you can:

- Enable or disable Docker Offload.
- Select the idle timeout. This is the duration of inactivity after which Docker Offload enters idle mode and no
longer incurs usage. The default is 5 minutes.
1 change: 0 additions & 1 deletion content/manuals/offload/feedback.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ title: Give feedback
weight: 900
---


There are several ways you can provide feedback on Docker Offload.

## Quick survey
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 3 additions & 8 deletions content/manuals/offload/optimize.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,10 @@ build. This means that files must be transferred from your local system to the
cloud over the network.

Transferring files over the network introduces higher latency and lower
bandwidth compared to local transfers. To reduce these effects, Docker Offload
includes several performance optimizations:
bandwidth compared to local transfers.

- It uses attached storage volumes for build cache, which makes reading and writing cache fast.
- When pulling build results back to your local machine, it only transfers layers that changed since the previous build.

Even with these optimizations, large projects or slower network connections can
lead to longer transfer times. Here are several ways to optimize your build
setup for Docker Offload:
Large projects or slower network connections can lead to longer transfer times. Here are several ways to optimize your
build setup for Docker Offload:

- [Use `.dockerignore` files](#dockerignore-files)
- [Choose slim base images](#slim-base-images)
Expand Down
Loading