diff --git a/content/manuals/admin/organization/manage-products.md b/content/manuals/admin/organization/manage-products.md index 909ab688a97f..fa9d3f1da413 100644 --- a/content/manuals/admin/organization/manage-products.md +++ b/content/manuals/admin/organization/manage-products.md @@ -106,8 +106,7 @@ select **Account**. > [!NOTE] > -> Docker Offload isn't included in the core Docker subscription plans. To make Docker Offload available, you must [sign -> up](https://www.docker.com/products/docker-offload/) and subscribe. +> Docker Offload isn't included in the core Docker subscription plans. To make Docker Offload available, you must [contact sales](https://www.docker.com/products/docker-offload/) and subscribe. To manage Docker Offload access for your organization, use [Settings Management](/manuals/enterprise/security/hardened-desktop/settings-management/_index.md): diff --git a/content/manuals/desktop/setup/vm-vdi.md b/content/manuals/desktop/setup/vm-vdi.md index a8d59b5dc654..80bddb97f74c 100644 --- a/content/manuals/desktop/setup/vm-vdi.md +++ b/content/manuals/desktop/setup/vm-vdi.md @@ -35,8 +35,9 @@ 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 Offload: -To get started using Docker Offload, see the [Docker Offload -quickstart](/offload/quickstart/). +For more information, see the [Docker Offload product +page](https://www.docker.com/products/docker-offload/) and the [Docker Offload +documentation](/offload/). ## Virtual desktop support when using nested virtualization diff --git a/content/manuals/offload/_index.md b/content/manuals/offload/_index.md index d3d023a9eba7..2281f4629051 100644 --- a/content/manuals/offload/_index.md +++ b/content/manuals/offload/_index.md @@ -1,14 +1,11 @@ --- 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 +description: Find documentation on Docker Offload to help you offload containers to the cloud. keywords: build, cloud, cloud build, remote builder params: sidebar: group: Products - badge: - color: violet - text: Early Access grid: @@ -23,12 +20,12 @@ grid: link: /offload/about/ - title: Configure - description: Set up and customize your cloud build environments. + description: Configure Docker Offload settings for your organization and Docker Desktop. icon: tune link: /offload/configuration/ -- title: Usage and billing - description: Learn about Docker Offload usage and billing, and how to monitor your cloud resources. +- title: Usage + description: Learn about Docker Offload usage and how to monitor your cloud resources. icon: monitor_heart link: /offload/usage/ diff --git a/content/manuals/offload/about.md b/content/manuals/offload/about.md index 08f6139dff6c..5a0db8cc1c7c 100644 --- a/content/manuals/offload/about.md +++ b/content/manuals/offload/about.md @@ -6,6 +6,8 @@ description: Learn about Docker Offload, its features, and how it works. keywords: cloud, offload, vdi --- +{{< summary-bar feature_name="Docker 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 @@ -13,8 +15,6 @@ scalable, cloud-powered environment, enabling developers to work efficiently eve in virtual desktop infrastructure (VDI) environments or systems that don't support nested virtualization. - - ## Key features Docker Offload includes the following capabilities to support modern container @@ -22,30 +22,15 @@ workflows: - Ephemeral cloud runners: Automatically provision and tear down cloud environments for each container session. -- 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 Desktop](../desktop/setup/vm-vdi.md) 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: - -- Offload heavy builds and runs to fast, scalable infrastructure -- Run containers that require more resources than your local setup can provide -- 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 +- VDI-friendly: [Use Docker Desktop](../desktop/setup/vm-vdi.md) in virtual + desktop environments or systems that don't support nested virtualization. -Docker Offload is ideal for high-velocity development workflows -that need the flexibility of the cloud without sacrificing the simplicity of -local tools. +For more information, see the [Docker Offload product +page](https://www.docker.com/products/docker-offload/). ## How Docker Offload works @@ -54,7 +39,7 @@ Docker Desktop to secure, dedicated cloud resources. ### Running containers with Docker Offload -When you use Docker Offload to build or run containers, a Docker Desktop creates a secure +When you use Docker Offload to build or run containers, 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. @@ -62,7 +47,7 @@ Here's what happens: 1. Docker Desktop connects to the cloud and triggers container creation. 2. Docker Offload builds or pulls the required images and starts containers in the cloud. -3. The connection stays open while the containers run. +3. The connection stays open while the containers run and you remain active. 4. When the containers stop running, the environment shuts down and is cleaned up automatically. @@ -76,11 +61,36 @@ 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 automatically transitions between active and idle states based on -usage. You're only charged when actively building or running containers. When -idle for more than 5 minutes, the session ends and resources are cleaned up. For -details about how this works and how to configure idle timeout, see [Active and -idle states](configuration.md#understand-active-and-idle-states). +### Cloud resources + +Docker Offload uses cloud hosts with 4 vCPUs and 8 GiB of memory. If you have +different requirements, [contact +Docker](https://www.docker.com/pricing/contact-sales/) to explore options. + +### Session management and idle state + +Docker Offload implements session management and idle state policies to ensure +fair use across all users. + +Here's how session management works: + +1. You start a new Docker Offload session. You can only have one session active + at a time. +2. You receive periodic prompts (every 1 to 3 hours) in the Docker Desktop Dashboard + to determine if you are still active. When the prompt appears, you can choose to: + - Select **Resume** in the prompt to confirm you're still active and + continue your session. + - Do nothing, select **Cancel**, or dismiss the prompt. You have a + 5-minute grace period. After the grace period, if you still haven't + responded, your session enters a 5-minute idle timeout period. During + either period, you can select **Resume** to continue your session and + preserve all containers, images, and volumes. +3. If the idle timeout period exceeds 5 minutes without resuming, the session + is suspended (the remote connection is suspended and containers stop + running). +4. After 8 hours of cumulative usage, the periodic prompts become more frequent. + If you do not respond to a prompt and the idle timeout expires, your session + ends and any containers, images, or volumes are deleted. ## What's next diff --git a/content/manuals/offload/configuration.md b/content/manuals/offload/configuration.md index c275320f7a08..f701d1103f12 100644 --- a/content/manuals/offload/configuration.md +++ b/content/manuals/offload/configuration.md @@ -8,69 +8,24 @@ keywords: cloud, configuration, settings, offload {{< summary-bar feature_name="Docker Offload" >}} -You can configure Docker Offload settings at different levels depending on your role. Organization owners can manage -settings for all users in their organization, while individual developers can configure their own Docker Desktop +You can configure Docker Offload settings at different levels depending on your +role. Organization owners can manage settings for all users in their +organization, while individual developers can configure their own Docker Desktop settings when allowed by their organization. ## Manage settings for your organization -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/). +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 for Docker +Offload, see [Docker Offload usage](/offload/usage/). ## Configure settings in Docker Desktop -For developers, you can manage Docker Offload settings in Docker Desktop. To manage settings: +For developers, you can enable or disable Docker Offload in Docker Desktop if +allowed by your organization. To manage this setting: 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**. - - Here you can: - - - Toggle **Enable Docker Offload**. When enabled, you can start Offload sessions. - - Select **Idle timeout**. This is the duration of time between no activity and Docker Offload entering idle mode. - For details about idle timeout, see [Understand active and idle states](#understand-active-and-idle-states). - -### Understand active and idle states - -Docker Offload automatically transitions between active and idle states to help -you control costs while maintaining a seamless development experience. - -#### When your session is active - -Your Docker Offload environment is active when you're building images, running -containers, or actively interacting with them, such as viewing logs or -maintaining an open network connection. During active state: - -- Usage is charged -- A remote Docker Engine is connected to your local machine -- All container operations execute in the cloud environment - -#### When your session is idle - -When there's no activity, Docker Offload transitions to idle state. During idle -state: - -- You are not charged for usage -- The remote connection is suspended -- No containers are running in the cloud - -The idle transition delay can be configured in Docker Desktop settings, ranging -from 10 seconds to 1 hour. This setting determines how long Docker Offload -waits after detecting inactivity before transitioning to idle state. - -#### How your session is preserved - -If your session has been idle for less than 5 minutes and you resume activity, -your previous containers and images are preserved and remain available. This -allows you to pick up right where you left off. - -However, if the idle period exceeds 5 minutes, a new session starts with a -clean environment and any containers, images, or volumes from the previous -session are deleted. - -> [!NOTE] -> -> Transitioning from active to idle and back to active within 5 minutes will be -> charged as continuous usage. \ No newline at end of file +4. Toggle **Enable Docker Offload**. When enabled, you can start Offload sessions. \ No newline at end of file diff --git a/content/manuals/offload/feedback.md b/content/manuals/offload/feedback.md index a2e717b1bf2b..520089338f2a 100644 --- a/content/manuals/offload/feedback.md +++ b/content/manuals/offload/feedback.md @@ -5,7 +5,6 @@ title: Give feedback weight: 900 --- - There are several ways you can provide feedback on Docker Offload. ## Quick survey diff --git a/content/manuals/offload/quickstart.md b/content/manuals/offload/quickstart.md index 153e083d104d..524655f5b5cc 100644 --- a/content/manuals/offload/quickstart.md +++ b/content/manuals/offload/quickstart.md @@ -2,54 +2,58 @@ title: Docker Offload quickstart linktitle: Quickstart weight: 10 -description: Learn how to use Docker Offload to build and run your container images faster, both locally and in CI. +description: Learn how to use Docker Offload to build and run your container images in the cloud. keywords: cloud, quickstart, Docker Desktop, offload --- {{< summary-bar feature_name="Docker Offload" >}} -[Docker Offload](./about.md) lets you build and run containers in the cloud while using your local Docker Desktop tools -and workflow. This means faster builds, access to powerful cloud resources, and a seamless development +[Docker Offload](./about.md) lets you build and run containers in the cloud +while using your local Docker Desktop tools and workflow. This means faster +builds, access to powerful cloud resources, and a seamless development experience. This quickstart covers the steps developers need to get started with Docker Offload. > [!NOTE] > -> If you're an organization owner, to get started you must [sign up](https://www.docker.com/products/docker-offload/) -> and subscribe your organization to use Docker Offload. After subscribing, see the following: -> -> - [Manage Docker products](../admin/organization/manage-products.md) to learn how to manage access for the developers -> in your organization. -> - [Usage and billing](./usage.md) to learn how set up billing and monitor usage. +> If you're an organization owner, to get started you must [contact +> sales](https://www.docker.com/pricing/contact-sales/) and subscribe your +> organization to use Docker Offload. After subscribing, see [Manage Docker +> products](../admin/organization/manage-products.md) to learn how to manage +> access for the developers in your organization. + ## Prerequisites -- You must have [Docker Desktop](/desktop/) installed. Docker Offload works with Docker Desktop version 4.50 or later. -- You must have access to Docker Offload. Your organization owner must [sign - up](https://www.docker.com/products/docker-offload/) your organization. -- You must have committed usage available or on-demand usage enabled for your organization. This is set up by your - organization owner. For more details, see [Docker Offload usage and billing](/offload/usage/). +- You must have [Docker Desktop](/desktop/) installed. Docker recommends using + the latest version of Docker Desktop to access the newest features and + improvements in Docker Offload. +- You must have a Docker Business subscription and a Docker Offload subscription. ## Step 1: Verify access to Docker Offload -To access Docker Offload, you must be part of an organization that has subscribed to Docker Offload. As a developer, you -can verify this by checking if the Docker Offload toggle appears in the Docker Desktop Dashboard header. +To access Docker Offload, you must be part of an organization that has +subscribed to Docker Offload. As a developer, you can verify this by checking if +the Docker Offload toggle appears in the Docker Desktop Dashboard header. 1. Start Docker Desktop and sign in. 2. In the Docker Desktop Dashboard header, look for the Docker Offload toggle. ![Offload toggle](./images/offload-toggle.png) -If you see the Docker Offload toggle, you have access to Docker Offload and can proceed to the next step. If you don't -see the Docker Offload toggle, check if Docker Offload is disabled in your [Docker Desktop -settings](./configuration.md), and then contact your administrator to verify that your organization has subscribed to -Docker Offload and that they have enabled access for your organization. +If you see the Docker Offload toggle, you have access to Docker Offload and can +proceed to the next step. If you don't see the Docker Offload toggle, check if +Docker Offload is disabled in your [Docker Desktop +settings](./configuration.md), and then contact your administrator to verify +that your organization has subscribed to Docker Offload and that they have +enabled access for your organization. ## Step 2: Start Docker Offload -You can start Docker Offload from the CLI or in the header of the Docker Desktop Dashboard. The following steps describe -how to start Docker Offload using the CLI. +You can start Docker Offload from the CLI or in the header of the Docker Desktop +Dashboard. The following steps describe how to start Docker Offload using the +CLI. 1. Start Docker Desktop and sign in. 2. Open a terminal and run the following command to start Docker Offload: @@ -63,19 +67,21 @@ how to start Docker Offload using the CLI. > To learn more about the Docker Offload CLI commands, see the [Docker Offload CLI > reference](/reference/cli/docker/offload/). -3. If you are a member of multiple organizations that have access to Docker Offload, you have the option to select a - profile. The selected organization is responsible for any usage. +3. If you are a member of multiple organizations that have access to Docker + Offload, you have the option to select a profile. Your usage will be + associated with the organization of the selected profile. + -When Docker Offload is started, you'll see a cloud icon -({{< inline-image src="./images/cloud-mode.png" alt="Offload mode icon" >}}) -in the Docker Desktop Dashboard header, and the Docker Desktop Dashboard appears purple. You can run +When Docker Offload is started, you'll see a cloud icon ({{< inline-image +src="./images/cloud-mode.png" alt="Offload mode icon" >}}) in the Docker Desktop +Dashboard header, and the Docker Desktop Dashboard appears purple. You can run `docker offload status` in a terminal to check the status of Docker Offload. ## Step 3: Run a container with Docker Offload -After starting Docker Offload, Docker Desktop connects to a secure cloud environment -that mirrors your local experience. When you run builds or containers, they -execute remotely, but behave just like local ones. +After starting Docker Offload, Docker Desktop connects to a secure cloud +environment that mirrors your local experience. When you run builds or +containers, they execute remotely, but behave just like local ones. To verify that Docker Offload is working, run a container: @@ -85,31 +91,31 @@ $ docker run --rm hello-world If Docker Offload is working, you'll see `Hello from Docker!` in the terminal output. -## Step 4: Monitor your Offload usage +## Step 4: Monitor your Offload session -When Docker Offload is started and you have started session (for example, you've ran a container), then you can see -current session duration estimate in the Docker Desktop Dashboard footer next to the hourglass icon -({{< inline-image src="./images/hourglass-icon.png" alt="Offload session duration" >}}). +When Docker Offload is started and you have started session (for example, you've +ran a container), then you can see current session duration estimate in the +Docker Desktop Dashboard footer next to the hourglass icon ({{< inline-image +src="./images/hourglass-icon.png" alt="Offload session duration" >}}). -Also, when Docker Offload is started, you can view detailed session information by selecting **Offload** > **Insights** -in the left navigation of the Docker Desktop Dashboard. +Also, when Docker Offload is started, you can view detailed session information +by selecting **Docker Offload** > **Insights** in the left navigation of the +Docker Desktop Dashboard. ## Step 5: Stop Docker Offload Docker Offload automatically -[idles](./configuration.md#understand-active-and-idle-states) after a period of -inactivity. You can stop it at any time. To stop Docker Offload: +[idles](./about.md#session-management-and-idle-state) if you do not respond to +periodic prompts that appear in the Docker Desktop Dashboard. You can stop your +Docker Offload session at any time. To stop Docker Offload: ```console $ docker offload stop ``` -When you stop Docker Offload, the cloud environment is terminated and all running containers and images are removed. -When Docker Offload has been idle for around 5 minutes, the environment is also terminated and all running containers -and images are removed. +When you stop Docker Offload, the cloud environment is terminated and all +running containers and images are removed. When Docker Offload has been idle for +5 minutes, the environment is also terminated and all running containers and +images are removed. To start Docker Offload again, run the `docker offload start` command. - -## What's next - -Configure your idle timeout in Docker Desktop. For more information, see [Configure Docker Offload](./configuration.md). \ No newline at end of file diff --git a/content/manuals/offload/troubleshoot.md b/content/manuals/offload/troubleshoot.md index faa4e1282584..bf5075662caf 100644 --- a/content/manuals/offload/troubleshoot.md +++ b/content/manuals/offload/troubleshoot.md @@ -7,13 +7,15 @@ keywords: cloud, troubleshooting, cloud mode, Docker Desktop, cloud builder, usa tags: [Troubleshooting] --- +{{< summary-bar feature_name="Docker Offload" >}} + Docker Offload requires: - Authentication - An active internet connection - No restrictive proxy or firewall blocking traffic to Docker Cloud - Access to Docker Offload -- Docker Desktop 4.50 or later +- Docker Desktop 4.65 or later Docker Desktop uses Offload to run both builds and containers in the cloud. If builds or containers are failing to run, falling back to local, or reporting @@ -52,4 +54,4 @@ session errors, use the following steps to help resolve the issue. $ docker login ``` -7. Verify your usage and billing. For more information, see [Docker Offload usage](/offload/usage/). \ No newline at end of file +7. Verify your usage. For more information, see [Docker Offload usage](/offload/usage/). \ No newline at end of file diff --git a/content/manuals/offload/usage.md b/content/manuals/offload/usage.md index ea4326b0d49d..734b902183cd 100644 --- a/content/manuals/offload/usage.md +++ b/content/manuals/offload/usage.md @@ -1,68 +1,79 @@ --- -title: Docker Offload usage and billing -linktitle: Usage & billing +title: Docker Offload usage +linktitle: Usage weight: 30 description: Learn about Docker Offload usage and how to monitor your cloud resources. -keywords: cloud, usage, cloud minutes, shared cache, top repositories, cloud builder, Docker Offload +keywords: cloud, usage, Offload --- {{< summary-bar feature_name="Docker Offload" >}} -> [!NOTE] -> -> Free trial usage for Docker Offload expires after 90 days. To continue using -> Docker Offload after your trial expires, you can enable on-demand usage at -> [Docker Home Billing](https://app.docker.com/billing). -## Understand usage and billing models +The **Offload activity** page in Docker Home provides visibility into user +activity and session metrics for Docker Offload. -Docker Offload offers two usage models to fit different team needs and usage patterns: +To monitor your usage: -- Committed usage: This provides a committed amount of cloud compute time for your organization. -- On-demand usage: This provides pay-as-you-go flexibility. You can enable or disable on-demand usage in - [Billing](#manage-billing). +1. Sign in to [Docker Home](https://app.docker.com/). +2. If you have access to multiple organizations, select the organization + associated with your Docker Offload subscription. +3. Select **Offload** > **Offload activity**. -## Manage billing +### Overview metrics -For Docker Offload, you can view and configure billing on the **Docker Offload** -page in [Docker Home Billing](https://app.docker.com/billing). On this page, you -can: +Key metrics at the top of the page summarize your Docker Offload usage: -- View your committed usage -- View rates for cloud resources -- Manage on-demand billing, including setting a monthly limit -- Track your organization's Docker Offload usage -- Add or change payment methods +- **Total duration**: The total time spent in Offload sessions +- **Average duration**: The average time per Offload session +- **Total sessions**: The total number of Offload sessions +- **Unique images used**: The number of distinct container images used across + sessions +- **Unique users**: The number of different users in Docker Offload sessions -You must be an organization owner to manage billing. For more general information about billing, see -[Billing](../billing/_index.md). +### Filter and export your data -## Monitor your usage +You can filter the Offload activity data by: -The **Offload overview** page in Docker Home provides visibility into -how you are using cloud resources to build and run containers. +- **Period**: Select a preset time period or choose a custom date range +- **Users**: Organization owners and members with analytics permissions can + filter by specific users +- **Additional Filters**: Filter by active sessions and session duration. -To monitor your usage: +Export your session data by selecting the **Download CSV** button. The exported +file includes: -1. Sign in to [Docker Home](https://app.docker.com/). -2. Select the account for which you want to monitor usage. -3. Select **Offload** > **Offload overview**. +- Session ID +- Username +- Image +- Started time +- Ended time +- Duration (in seconds) +- Status +- Container count -The following widgets are available: +The CSV export includes data for your selected date range and user filters, +letting you download exactly what you're viewing. -- My recent sessions: This widget shows your total session time as well as a break down of your most recent sessions' - duration. -- My top 10 images: This widget shows the top 10 images used in Docker Offload in run sessions. It provides insight into - which images are most frequently used, helping you understand your container usage patterns. -- My active sessions: This widget displays any currently active Docker Offload sessions. +### Activity cards -### View recent activity +The following cards provide insights into your Docker Offload usage: -The **Recent activity** page in Docker Home provides detailed information about your recent Docker Offload sessions. -This includes session ID, start date and time, duration, and number of containers. +- **Offload usage**: Shows your usage trends over time and cloud resource + consumption patterns. +- **Popular images**: Shows the top 4 most frequently used container images in + your Docker Offload sessions. Select the card to see more images. +- **Top Offload users**: Shows the top 4 users by session count and duration. Select + the card to see more users. -To view the **Recent activity** page: +### Offload sessions -1. Sign in to [Docker Home](https://app.docker.com/). -2. Select the account for which you want to manage Docker Offload. -3. Select **Offload** > **Recent activity**. \ No newline at end of file +A detailed list of Offload sessions appears following the activity cards. The list: + +- Starts with any currently active sessions +- Shows session details including start time, duration, images used, and user + information +- Can be filtered using the date and user filters described previously +- Displays **Offload sessions** if you have organization-wide analytics + permissions, or **My Offload sessions** if viewing only your own data + +Select any session to view more details in a side panel. \ No newline at end of file diff --git a/data/summary.yaml b/data/summary.yaml index b3c0639efb63..33c618e1e3c6 100644 --- a/data/summary.yaml +++ b/data/summary.yaml @@ -153,8 +153,8 @@ Docker Build Cloud: Docker CLI OpenTelemetry: requires: Docker Engine [26.1.0](/manuals/engine/release-notes/26.1.md#2610) and later Docker Offload: - availability: Early Access - requires: Docker Desktop 4.50 and later + subscription: [Docker Offload] + requires: Docker Desktop 4.65 and later docker compose alpha: availability: Experimental Docker Debug: diff --git a/layouts/_shortcodes/summary-bar.html b/layouts/_shortcodes/summary-bar.html index 6a0c5b60f45f..5075fa711153 100644 --- a/layouts/_shortcodes/summary-bar.html +++ b/layouts/_shortcodes/summary-bar.html @@ -12,6 +12,7 @@ "Available to all" "public" "Docker Hardened Images Enterprise" "/icons/dhi.svg" "Docker Hardened Images Select or Enterprise" "/icons/dhi.svg" + "Docker Offload" "cloud" }} {{ $availabilityIcons := dict "Experimental" "science"