diff --git a/content/manuals/ai/gordon/_index.md b/content/manuals/ai/gordon/_index.md index b4ee2dee9ef4..123d9b1eb2b5 100644 --- a/content/manuals/ai/gordon/_index.md +++ b/content/manuals/ai/gordon/_index.md @@ -6,9 +6,6 @@ description: weight: 40 params: sidebar: - badge: - color: blue - text: Beta group: AI and agents aliases: - /desktop/features/gordon/ @@ -38,12 +35,13 @@ Gordon proposes every action before executing. You approve what it does. Before you begin: -- Docker Desktop 4.61.0 or later +- Docker Desktop 4.74 or later - Sign in to your Docker account > [!NOTE] -> Gordon is enabled by default for Personal, Pro, and Team subscriptions. -> Business subscribers must complete two steps before users can access Gordon: +> Gordon is enabled by default for signed-in Docker users. If your account +> belongs to an organization with a Business subscription, access requires two +> additional steps: > > 1. Contact Docker Support to activate Gordon for your organization. Docker > will confirm when activation is complete. @@ -80,7 +78,7 @@ Before you begin: 2. Type a question: "what containers are running?" and press Enter. - ![Gordon running in the terminal](./images/gordon_tui.avif?border=true) + ![Gordon running in the terminal](./images/gordon_tui.avif) 3. Review Gordon's proposed actions and approve by typing `y`. @@ -92,7 +90,7 @@ Before you begin: By default, Gordon asks for approval before executing actions. You can approve individual actions or allow all actions for the current session. -![Gordon permission request](./images/permissions.avif) +![Gordon permission request](./images/gordon_permissions_prompt.avif) Permissions reset for each session. To configure default permissions or enable auto-approve mode, see [Permissions](./how-to/permissions.md). diff --git a/content/manuals/ai/gordon/concepts/data-privacy.md b/content/manuals/ai/gordon/concepts/data-privacy.md index d7db37aac27a..c69a709f6858 100644 --- a/content/manuals/ai/gordon/concepts/data-privacy.md +++ b/content/manuals/ai/gordon/concepts/data-privacy.md @@ -51,8 +51,8 @@ processed are not stored. ### Personal (free) subscription -Conversation threads are stored for 30 days to improve the service. Individual -queries and responses are retained as part of your conversation history. +Anonymized conversation threads are stored for 30 days to improve the service. +Individual queries and responses are retained as part of your conversation history. ### All subscriptions @@ -85,7 +85,7 @@ You can disable Gordon at any time: Individual users: 1. Open Docker Desktop Settings. -2. Navigate to the **Beta features** section. +2. Navigate to the **AI** section. 3. Clear the **Enable Gordon** option. 4. Select **Apply**. diff --git a/content/manuals/ai/gordon/how-to/cli.md b/content/manuals/ai/gordon/how-to/cli.md index f4196ffa0ace..e3f22aba1f31 100644 --- a/content/manuals/ai/gordon/how-to/cli.md +++ b/content/manuals/ai/gordon/how-to/cli.md @@ -54,7 +54,7 @@ Gordon CLI is part of Docker Desktop. To disable it, disable Gordon in Docker Desktop Settings: 1. Open Docker Desktop Settings. -2. Navigate to the **Beta features** section. +2. Navigate to the **AI** section. 3. Clear the **Enable Gordon** option. 4. Select **Apply**. diff --git a/content/manuals/ai/gordon/how-to/configure-tools.md b/content/manuals/ai/gordon/how-to/configure-tools.md index 36c715724d74..90c3b6ae11f7 100644 --- a/content/manuals/ai/gordon/how-to/configure-tools.md +++ b/content/manuals/ai/gordon/how-to/configure-tools.md @@ -26,7 +26,7 @@ To configure Gordon's tools: 2. Select **Gordon** in the sidebar. 3. Select the settings icon at the bottom of the text input area. - ![Session settings icon](../images/perm_settings.avif?border=true) + ![Session settings icon](../images/gordon_permission_settings.avif) The tool settings dialog opens with two tabs: **Basic** and **Advanced**. @@ -61,7 +61,7 @@ To configure: 2. Add commands to **Allow rules** or **Deny rules**. 3. Select **Save**. -![Advanced tool configuration](../images/gordon_advanced_tool_config.avif?w=500px&border=true) +![Advanced tool configuration](../images/gordon_advanced_tool_config.avif) Gordon still requests approval before running allow-listed tools, unless YOLO mode (auto-approve mode that bypasses permission checks) is enabled. diff --git a/content/manuals/ai/gordon/how-to/docker-desktop.md b/content/manuals/ai/gordon/how-to/docker-desktop.md index f8ad9a960ebd..1586bdbccab7 100644 --- a/content/manuals/ai/gordon/how-to/docker-desktop.md +++ b/content/manuals/ai/gordon/how-to/docker-desktop.md @@ -30,12 +30,23 @@ to change it during a conversation: 1. Select the directory icon in the Gordon input area. 2. Browse and select a different directory. +## Contextual help + +The Gordon icon appears throughout Docker Desktop. Selecting it opens Gordon +pre-loaded with context about the item you are working with, such as container +logs or build output. + +## Usage indicator + +Docker Desktop shows a usage indicator so you can see how close you are to +your tier limit. See [Usage limits and tiers](../usage-limits.md) for details. + ## Disabling Gordon To disable Gordon: 1. Open Docker Desktop Settings. -2. Navigate to the **Beta features** section. +2. Navigate to the **AI** section. 3. Clear the **Enable Gordon** option. 4. Select **Apply**. diff --git a/content/manuals/ai/gordon/how-to/permissions.md b/content/manuals/ai/gordon/how-to/permissions.md index 006404f856f7..3e08cfb3c58a 100644 --- a/content/manuals/ai/gordon/how-to/permissions.md +++ b/content/manuals/ai/gordon/how-to/permissions.md @@ -32,7 +32,7 @@ To change the default permission settings for Gordon: 2. Select **Gordon** in the sidebar. 3. Select the settings icon at the bottom of text input. - ![Session settings icon](../images/perm_settings.avif) + ![Session settings icon](../images/gordon_permission_settings.avif) In the **Basic** tab you can configure whether Gordon should ask for permission before using a tool. diff --git a/content/manuals/ai/gordon/images/delete.webp b/content/manuals/ai/gordon/images/delete.webp deleted file mode 100644 index e939fb150e69..000000000000 Binary files a/content/manuals/ai/gordon/images/delete.webp and /dev/null differ diff --git a/content/manuals/ai/gordon/images/gordon_advanced_tool_config.avif b/content/manuals/ai/gordon/images/gordon_advanced_tool_config.avif index 8e1e5508a77e..2b02955daa46 100644 Binary files a/content/manuals/ai/gordon/images/gordon_advanced_tool_config.avif and b/content/manuals/ai/gordon/images/gordon_advanced_tool_config.avif differ diff --git a/content/manuals/ai/gordon/images/gordon_gui.avif b/content/manuals/ai/gordon/images/gordon_gui.avif index 902e0df6faca..5b77c21d56cc 100644 Binary files a/content/manuals/ai/gordon/images/gordon_gui.avif and b/content/manuals/ai/gordon/images/gordon_gui.avif differ diff --git a/content/manuals/ai/gordon/images/gordon_permission_settings.avif b/content/manuals/ai/gordon/images/gordon_permission_settings.avif new file mode 100644 index 000000000000..eea123b3e84e Binary files /dev/null and b/content/manuals/ai/gordon/images/gordon_permission_settings.avif differ diff --git a/content/manuals/ai/gordon/images/gordon_permissions_prompt.avif b/content/manuals/ai/gordon/images/gordon_permissions_prompt.avif new file mode 100644 index 000000000000..8ddbf4e91304 Binary files /dev/null and b/content/manuals/ai/gordon/images/gordon_permissions_prompt.avif differ diff --git a/content/manuals/ai/gordon/images/gordon_tui.avif b/content/manuals/ai/gordon/images/gordon_tui.avif index c265d5ba0cf0..e429b2aae814 100644 Binary files a/content/manuals/ai/gordon/images/gordon_tui.avif and b/content/manuals/ai/gordon/images/gordon_tui.avif differ diff --git a/content/manuals/ai/gordon/images/perm_settings.avif b/content/manuals/ai/gordon/images/perm_settings.avif deleted file mode 100644 index 96d61d171dc5..000000000000 Binary files a/content/manuals/ai/gordon/images/perm_settings.avif and /dev/null differ diff --git a/content/manuals/ai/gordon/images/permissions.avif b/content/manuals/ai/gordon/images/permissions.avif deleted file mode 100644 index d992f84a027d..000000000000 Binary files a/content/manuals/ai/gordon/images/permissions.avif and /dev/null differ diff --git a/content/manuals/ai/gordon/usage-limits.md b/content/manuals/ai/gordon/usage-limits.md new file mode 100644 index 000000000000..cf67ff66f02d --- /dev/null +++ b/content/manuals/ai/gordon/usage-limits.md @@ -0,0 +1,51 @@ +--- +title: Gordon usage limits and tiers +linkTitle: Usage limits +description: Gordon subscription tiers and usage limits for Docker Desktop and the CLI +weight: 50 +keywords: [gordon, usage, limits, tiers, base, plus, max, ultra, subscription] +--- + +{{< summary-bar feature_name="Gordon" >}} + +Gordon is included with every Docker account at the Base tier. Paid Gordon +plans unlock higher usage limits. + +## Tiers + +| Tier | Usage allocation | +| ----- | -------------------------------- | +| Base | Included with any Docker account | +| Plus | 2× Base | +| Max | 5× Base | +| Ultra | 20× Base | + +To upgrade your Gordon tier, visit your account settings on +[docker.com](https://www.docker.com). + +## Usage limits + +Gordon usage is measured in questions. The number you can ask depends on +complexity: questions that involve more context, files, or Docker operations +count more toward your limit. + +| Tier | Per 4 hours | Per day | Per month | +| ----- | ----------- | ------- | --------- | +| Base | ~40 | ~100 | ~180 | +| Plus | ~80 | ~200 | ~360 | +| Max | ~200 | ~500 | ~900 | +| Ultra | ~800 | ~2,000 | ~3,600 | + +These are estimates and vary based on question complexity. + +## View your usage + +Docker Desktop shows a usage indicator so you can see how close you are to +your limit. To get more usage, upgrade your tier. + +## Gordon on docs.docker.com + +Gordon is also available on [docs.docker.com](https://docs.docker.com) to +answer documentation questions. It's free for all users with its own separate +usage limit. It only answers questions about Docker documentation and does not +include tool use or access to your Docker environment. diff --git a/content/manuals/ai/gordon/use-cases.md b/content/manuals/ai/gordon/use-cases.md index 1eef4d2e0a70..460f3ddfc345 100644 --- a/content/manuals/ai/gordon/use-cases.md +++ b/content/manuals/ai/gordon/use-cases.md @@ -7,112 +7,140 @@ weight: 10 {{< summary-bar feature_name="Gordon" >}} -Gordon handles Docker workflows through natural conversation. This page shows -example prompts for the most common use cases. +Gordon handles Docker workflows through natural conversation. In Docker +Desktop, Gordon is available from the sidebar for open-ended sessions and from +contextual entry points in views like Containers, Images, Builds, and Volumes. +Selecting Gordon from one of these views opens a conversation pre-loaded with +context about the item you're looking at. You can ask the same questions from +the CLI with `docker ai`. -## Debug and troubleshoot +## Debug a failing container -Fix broken containers, diagnose build failures, and resolve issues. +You're in the Containers view and a container has crashed or behaves +unexpectedly. Open Gordon from the container row to ask about that container's +state and configuration: + +- "Why did this container exit?" +- "What environment variables are set in this container?" +- "How long did this container run?" +- "What security settings are applied to this container?" + +From the CLI: ```console -# Diagnose container crashes -$ docker ai "why did my postgres container crash?" +$ docker ai "why is my postgres container crashing on startup?" +``` -# Debug build failures -$ docker ai "my build is failing at the pip install step, what's wrong?" +## Debug a failed build -# Fix networking issues -$ docker ai "my web container can't reach my database container" +You're in the Builds view looking at a build that failed or is slower than +expected. Open Gordon from the build to inspect the Dockerfile, build +arguments, and cache behavior: -# Investigate performance problems -$ docker ai "my container is using too much memory, help me investigate" +- "Why did this build fail?" +- "How can I improve cache usage for this build?" +- "What Dockerfile instructions were used?" +- "What build arguments were used?" + +From the CLI: + +```console +$ docker ai "my build is failing at the pip install step, what's wrong?" ``` -## Build and containerize +## Inspect an image -Create Docker assets for applications and migrate to hardened images. +You're in the Images view and want to understand what's in an image before +running it, or you want to size up a base image: -```console -# Create Dockerfile from scratch -$ docker ai "create a Dockerfile for my Node.js application" +- "How do I run this image in the CLI?" +- "What environment variables are configured?" +- "What entrypoint is configured?" +- "What's the base architecture of this image?" +- "Is there a lighter version of this image?" -# Generate compose file -$ docker ai "create a docker-compose.yml for my application stack" +From the CLI: -# Migrate to Docker Hardened Images -$ docker ai "migrate my Dockerfile to use Docker Hardened Images" +```console +$ docker ai "compare my python:3.12 image to python:3.12-slim" ``` -## Execute operations +## Manage volumes and resources -Run Docker commands to manage containers, images, and resources. +From the Volumes view, ask Gordon about what's stored, which containers use a +volume, or how to clean up. From any view, use the Gordon sidebar to inspect +your wider environment: -```console -# Start containers with configuration -$ docker ai "run a redis container with persistence" +- "Which containers are using this volume?" +- "Show me all my containers and their status" +- "How much disk space is Docker using?" +- "List my images sorted by size" -# Build and tag images -$ docker ai "build my Dockerfile and tag it for production" +From the CLI: -# Clean up resources +```console $ docker ai "clean up all unused Docker resources" ``` -## Develop and optimize +## Build and containerize -Improve Dockerfiles and configure secure, efficient development environments. +For new projects, start a conversation in the Gordon sidebar or via `docker +ai` from your project directory. Gordon reads your working directory and +proposes the right files: -```console -# Optimize existing Dockerfile -$ docker ai "rate my Dockerfile and suggest improvements" +- "Containerize my Node.js app" +- "Create a docker-compose for my stack" +- "Set up a dev environment with Postgres and Redis" -# Add security improvements -$ docker ai "make my Dockerfile more secure" +From the CLI: -# Configure development workflow -$ docker ai "set up my container for development with hot reload" +```console +$ cd ~/my-project +$ docker ai "create a Dockerfile for this application" ``` -## Manage resources +## Develop and optimize -Inspect containers, images, and resource usage. +Ask Gordon to review and improve existing Dockerfiles or service definitions. +You can start from the Images view (for an image you've already built) or from +the Gordon sidebar with your project context: -```console -# Check container status -$ docker ai "show me all my containers and their status" +- "Optimize this Dockerfile" +- "Add a health check to my service" +- "Make my Dockerfile more secure" -# Analyze disk usage -$ docker ai "how much disk space is Docker using?" +From the CLI: -# Review image details -$ docker ai "list my images sorted by size" +```console +$ docker ai "rate my Dockerfile and suggest improvements" ``` ## Learn Docker -Understand concepts and commands in the context of your projects. +For conceptual questions, use the Gordon sidebar or CLI. Gordon explains +concepts grounded in your environment, not generic answers: -```console -# Explain Docker concepts -$ docker ai "explain how Docker networking works" +- "What is a Docker volume?" +- "Explain multi-stage builds" +- "How does networking work in Docker?" -# Understand commands -$ docker ai "what's the difference between COPY and ADD in Dockerfile?" +From the CLI: -# Get troubleshooting guidance -$ docker ai "how do I debug a container that exits immediately?" +```console +$ docker ai "what's the difference between COPY and ADD in a Dockerfile?" ``` - ## Writing effective prompts Be specific: + - Include relevant context: "my postgres container" not "the database" - State your goal: "make my build faster" not "optimize" - Include error messages when debugging -Gordon works best when you describe what you want to achieve rather than how to -do it. +Gordon works best when you describe what you want to achieve rather than how +to do it. Gordon maintains context across a conversation, so you can follow up +with clarifications or ask related questions without repeating yourself. ### Working directory context diff --git a/data/summary.yaml b/data/summary.yaml index 943ee0e189e8..cc521091614d 100644 --- a/data/summary.yaml +++ b/data/summary.yaml @@ -15,7 +15,6 @@ Allow list: Amazon S3 cache: availability: Experimental Gordon: - availability: Beta requires: Docker Desktop [4.61.0](/manuals/desktop/release-notes.md#4610) or later Gordon DHI migration: availability: Experimental