Docker Agent YAML 教程:一份配置 5 步跑通智能体封面图
Agent 与 Skills约 10 分钟

Docker Agent YAML 教程:一份配置 5 步跑通智能体

AI 指南··◉ 0 浏览

Docker Agent 是 Docker 官方的开源智能体框架(即原 cagent,Docker Desktop 4.63 起更名):用一份 YAML 声明式定义智能体的模型、角色指令与工具,再用 OCI 仓库像容器镜像一样分发。全程 5 步、免费开源,本教程带你从安装一路跑到分享。

Docker Agent 官方 GitHub 仓库 docker/docker-agent 主页截图

前置准备:安装与模型密钥

Docker Agent 的安装有两条路,任选其一:

  • Docker Desktop 4.63 及以上版本直接内置,开箱即用
  • Docker Engine 或自定义安装:macOS 用 brew install docker-agent,Windows 用 winget install Docker.Agent,或从 GitHub releases 下载预编译二进制,把 docker-agent 放到 ~/.docker/cli-plugins 目录后即可用 docker agent 命令(也可作为独立二进制直接运行),官方安装说明见 Docker Agent 文档

接着准备模型。按你想用的厂商导出对应密钥:

export ANTHROPIC_API_KEY=你的密钥   # Claude 系列模型
export OPENAI_API_KEY=你的密钥      # OpenAI 模型
export GOOGLE_API_KEY=你的密钥      # Gemini 模型

不想配云厂商密钥的话,可以用 Docker Model Runner 拉本地模型(dmr/ 前缀的模型不需要密钥),适合隐私敏感的场景。

第 1 步:一条命令快速试跑

先不写任何配置,直接跑默认智能体:

docker agent run

这会启动一个带交互界面的通用助手,可以直接对话。想用向导生成配置:

docker agent new
# 或直接指定模型
docker agent new --model openai/gpt-5

docker agent new 会在当前目录生成一个 agent.yaml,保存后就能运行。

第 2 步:手写 agent.yaml 最小配置

配置文件是核心资产,结构如下(来自官方快速开始的最小示例):

agents:
  root:
    model: anthropic/claude-sonnet-4-5
    description: 编程助手
    instruction: |
      你是资深软件开发者,帮用户写干净高效的代码,
      并解释你的思路。
    toolsets:
      - type: filesystem
      - type: shell
      - type: think

instruction 怎么写好,可以参考站内 Gemini Skills 用法(斜杠调用 3 步)与 Figma Agent 提示词模板(6 条可直接复制的指令),先想清楚角色再落笔。字段拆解:

  • agents.root:主智能体,整个配置必须有它
  • model:模型引用,格式是 厂商/模型 名称,例如 anthropic/claude-sonnet-4-5、openai/gpt-5-mini
  • description:一句话角色说明,用于上下文识别
  • instruction:角色指令,写清楚这个智能体负责什么、按什么规则行事
  • toolsets:工具集,filesystem 读写文件、shell 执行命令、think 逐步推理

想用 HCL 也可以,同一份配置写成 agent.hcl 效果等价,团队偏好哪种用哪种。

AI345 绘制的 Docker Agent agent.yaml 配置结构示意图(root 主智能体与 toolsets 工具集)

第 3 步:跑起来并验证

docker agent run agent.yaml

进入交互界面后,用三个问题验证它真的在工作:

  1. 列出当前目录的文件
  2. 写一个抓取天气数据的 Python 脚本
  3. 解释某个代码文件在做什么

非交互场景用 --exec 跑一次性任务:

# 问单个问题
docker agent run --exec agent.yaml "为一个 Node.js 应用写 Dockerfile"
# 管道输入
echo '报错日志内容' | docker agent run --exec agent.yaml "这段日志哪里出了问题?"

信任智能体的工具调用时,可以加 --yolo 自动批准所有工具调用;想系统学一遍操作,运行 docker agent getting-started 有内置导览。

第 4 步:进阶:多智能体、MCP 工具与记忆

Docker Agent 真正的价值在多智能体协作:root 负责统筹,sub_agents 各干一行。下面是一个可直接复制的双智能体调试团队:

agents:
  root:
    model: anthropic/claude-sonnet-4-5
    description: bug 调查员
    instruction: |
      分析报错信息、堆栈与代码,定位 bug 根因,
      说明哪里错了、为什么错,把修复交给 fixer。
    sub_agents: [fixer]
    toolsets:
      - type: filesystem
      - type: mcp
        ref: docker:duckduckgo
  fixer:
    model: openai/gpt-5-mini
    description: 修复实施员
    instruction: |
      按调查员的诊断写修复,做最小改动并补测试。
    toolsets:
      - type: filesystem
      - type: shell

Docker Agent 官方仓库 examples 示例智能体配置目录截图

要点:

  • sub_agents 列出的子智能体可以有各自的模型、指令与工具,也可以继续挂自己的子智能体
  • 每个智能体上下文独立,不共享知识,靠 root 转交(多智能体协作的产品形态可参考站内 Manus Cue 是什么)
  • MCP 工具用 ref: docker:duckduckgo 这种语法,Docker 会在容器里跑对应的 MCP server,隔离又安全,需要 Docker Desktop
  • 给智能体加持久记忆:toolsets 里加 - type: memory 并指定 path(如 ./research.db)
  • 复杂推理任务可以加 think 工具,让模型先逐步推理再动手

MCP 是接外部工具的标准口,配置 MCP 的通用思路可以参考站内的 Gemini CLI MCP 配置(一条命令 5 步接好)。

第 5 步:用 OCI 仓库分发

智能体配置会被打包成 OCI 制品,像镜像一样推送和拉取:

# 推送:把本地配置发布到仓库(不存在会自动创建)
docker agent share push ./debugger.yaml myusername/debugger

# 拉取:从仓库取回别人的智能体
docker agent share pull myusername/debugger

# 直接运行仓库里的智能体,不用本地 YAML
docker agent run myorg/agent:tag

仓库用 Docker Hub 或任何 OCI 兼容 registry 都行。对已经在用容器镜像的团队,这条分发链路和现有流水线完全对齐,拉取即用,版本化管理。

对团队来说,这条链路最大的价值是「配置即产物」:智能体的模型选择、工具权限和角色指令都锁在 YAML 里,版本跟随仓库走,回滚就是 pull 上一个 tag。新人上手也不用从零搭环境,一条 docker agent run 仓库地址就能拿到和团队一致的智能体。

AI345 绘制的 Docker Agent OCI 仓库分发流程示意图(push / pull / run)

验证成功与常见报错速查

跑通的标准:docker agent run 能进入交互界面、智能体能完成你指派的任务、share push 后另一台机器能 pull 回来运行。遇到问题先对照下表:

现象 原因 解法
docker agent 命令不存在 二进制没安装或没放进 ~/.docker/cli-plugins 按前置准备章节重装,确认版本 4.63+
报认证/403 错误 没设置对应厂商的 API key export 对应的 ANTHROPIC/OPENAI/GOOGLE_API_KEY 后重试
模型名报错 厂商前缀或模型名写错 对照官方 set-up-a-model 文档确认模型引用格式
MCP 工具调用失败 MCP server 未就绪或 gateway 未启动 先跑 docker mcp tools list 确认工具列表与状态
本地模型显存不足 多个大模型同时加载 减少同时加载的模型数,或用 on_agent_switch 钩子释放显存

官方完整的排障手册在 Docker Agent troubleshooting 页面,以上是最常见的几种。

常见问题

Docker Agent 和 cagent 是什么关系?

同一个项目。Docker Desktop 4.49 到 4.62 期间叫 cagent,4.63 起正式更名 Docker Agent,GitHub 仓库为 docker/docker-agent。

Docker Agent 免费吗?

框架本身开源(Apache-2.0 协议),免费使用。成本只在模型侧:云厂商 API 按调用计费,本地 Docker Model Runner 模型不产生 API 费用。

一定要装 Docker Desktop 吗?

不一定。Docker Engine 用户可以用 brew / winget / 预编译二进制安装。但容器化运行 MCP 工具(ref: docker: 语法)依赖 Docker Desktop。

能接国内模型厂商吗?

支持自定义 provider:在配置里写 providers 段,用 OpenAI 兼容的 base_url 与 token_key 指向任何兼容接口(官方示例里就有 OpenRouter 风格写法),国内提供 OpenAI 兼容 API 的厂商理论上可配置,具体以官方文档为准。

YAML 和 HCL 都能写吗?

都能。默认是 agent.yaml,同一份配置也可以写成 agent.hcl,两者等价。

怎么把智能体分享给团队?

docker agent share push 推到 Docker Hub 或任意 OCI registry,对方 docker agent share pull 或直接 docker agent run 仓库地址即可运行。

评论 (0)

?
0/1

还没有评论,来发第一条吧

网站上的服务均为第三方提供,
请用户注意自行甄别。

北京酷讯互动科技有限公司

备案京ICP备2024094994号-29

© 2026 AI345 · All Rights Reserved

用户服务协议·隐私政策