Docker Agent[1] is a Docker CLI plugin for building and running AI agents by describing them in a YAML file, no code required. It is maintained by Docker’s engineering team and the idea is simple: you define one or more agents, give them tools, and set them to collaborate with docker agent run. This article covers what it does, how you use it, and where it fits.

Key takeaways

  • Docker Agent installs as a CLI plugin (docker agent) and ships pre-installed in Docker Desktop 4.63 and later.
  • Agents are described in YAML: the model, the tools, and, when needed, several agents that delegate tasks to each other.
  • Tools arrive over MCP (local, remote or container-based servers), plus built-in think, todo and memory utilities.
  • It is not tied to one provider: it routes OpenAI, Anthropic, Gemini, Bedrock, Mistral, xAI or the Docker Model Runner.
  • An agent is packaged and shared through any OCI registry, just like an image.

What it solves

Wiring an agent by hand means gluing the model, the tools and the orchestration together in code. Docker Agent moves that plumbing into declarative, versionable, shareable YAML, and reuses two things you already know from Docker: containers to isolate the tools and OCI registries to distribute them. If you already work with MCP servers, here they are first-class citizens. The README puts it bluntly:

"Define agents in YAML, give them tools, and let them work." — docker/docker-agent README

The difference from wiring it by hand is clearer piece by piece:

Aspect By hand (in code) With Docker Agent
Agent definition Python or TypeScript code A declarative agent.yaml file
Tools You integrate each SDK yourself MCP servers, local or containerised
Isolating the tools You build it Containers, just like any image
Sharing the agent Bespoke packaging Any OCI registry (push / pull)
Model provider Tied to the SDK you pick OpenAI, Anthropic, Gemini, Bedrock, Mistral, xAI or the Model Runner

What it looks like

A minimal agent fits in a few lines: a model and a set of tools over MCP.

agents:
  root:
    model: openai/gpt-5-mini
    toolsets:
      - type: mcp
        ref: docker:duckduckgo

And you launch it with a single command:

docker agent run agent.yaml

docker agent new scaffolds the template interactively, and push and pull move the agent through an OCI registry.

Animated demo of Docker Agent in the terminal: a session summarising a README while showing the agent tree (root, planner, reviewer), token usage, and the available MCP tools.

Multiple agents and tools

The point is not a single agent, it is combining them. Docker Agent splits work between a root agent and subagents that delegate tasks, the same pattern we saw when comparing multi-agent frameworks. Each agent ships built-in utilities to think, manage tasks and remember, and can mount any MCP server, local, remote or container-based, plus RAG to query your own data.

Flow diagram of Docker Agent: from the agent.yaml file to the docker agent command, which starts a root agent that delegates to subagents and MCP tools.

Frequently asked questions

Does Docker Agent need Docker Desktop?

Not strictly. It ships pre-installed in Docker Desktop 4.63 and later, but you can also install it with Homebrew (brew install docker-agent) or from the binaries published on GitHub.

Which models does it work with?

Whichever you already have: it is compatible with OpenAI, Anthropic, Gemini, Bedrock, Mistral, xAI or the Docker Model Runner. It bundles no model of its own, so you need access to a provider.

How do I share an agent with my team?

You package it and push it to any OCI registry, just like a container image. It is then versioned and distributed with the same tools you already use for your images.

My take

It looks like a coherent move: Docker does not reinvent the agent, it packages the boring part. The declarative YAML and the OCI registry fit how we already ship software, and not locking you to a model provider is welcome.

The honest part: it is a young tool and declarative YAML has a ceiling; once the logic gets involved, sooner or later you end up writing your own tools. And it assumes you already have access to a model provider, because it routes whichever one you give it and bundles none. For prototyping and sharing reproducible agents it earns its place; for very bespoke logic you may outgrow it.

Conclusion

Docker Agent brings agent-building onto the ground Docker owns: a declarative file, containers for the tools, and OCI registries for sharing. With an Apache-2.0 license and pre-installed in Docker Desktop, trying an agent costs one command. It is worth it if you already live in the Docker ecosystem and want reproducible agents without wiring the plumbing by hand.

Sources

  1. Docker Agent
  2. Docker documentation
  3. Docker blog