Skip to content
Draft
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: 6 additions & 8 deletions content/manuals/ai/gordon/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ description:
weight: 40
params:
sidebar:
badge:
color: blue
text: Beta
group: AI and agents
aliases:
- /desktop/features/gordon/
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -80,7 +78,7 @@ Before you begin:

2. Type a question: "what containers are running?" and press <kbd>Enter</kbd>.

![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`.

Expand All @@ -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).
Expand Down
6 changes: 3 additions & 3 deletions content/manuals/ai/gordon/concepts/data-privacy.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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**.

Expand Down
2 changes: 1 addition & 1 deletion content/manuals/ai/gordon/how-to/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -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**.

Expand Down
4 changes: 2 additions & 2 deletions content/manuals/ai/gordon/how-to/configure-tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -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**.

Expand Down Expand Up @@ -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.
Expand Down
13 changes: 12 additions & 1 deletion content/manuals/ai/gordon/how-to/docker-desktop.md
Original file line number Diff line number Diff line change
Expand Up @@ -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**.

Expand Down
2 changes: 1 addition & 1 deletion content/manuals/ai/gordon/how-to/permissions.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Binary file removed content/manuals/ai/gordon/images/delete.webp
Binary file not shown.
Binary file not shown.
Binary file modified content/manuals/ai/gordon/images/gordon_gui.avif
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified content/manuals/ai/gordon/images/gordon_tui.avif
Binary file not shown.
Binary file not shown.
Binary file removed content/manuals/ai/gordon/images/permissions.avif
Binary file not shown.
51 changes: 51 additions & 0 deletions content/manuals/ai/gordon/usage-limits.md
Original file line number Diff line number Diff line change
@@ -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.
144 changes: 86 additions & 58 deletions content/manuals/ai/gordon/use-cases.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,112 +7,140 @@

{{< 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"

Check failure on line 93 in content/manuals/ai/gordon/use-cases.md

View workflow job for this annotation

GitHub Actions / validate (vale)

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'Dev Environments?' instead of 'dev environment'. Raw Output: {"message": "[Vale.Terms] Use 'Dev Environments?' instead of 'dev environment'.", "location": {"path": "content/manuals/ai/gordon/use-cases.md", "range": {"start": {"line": 93, "column": 13}}}, "severity": "ERROR"}

# 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

Expand Down
1 change: 0 additions & 1 deletion data/summary.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading