Docker Model Runner
Docker Model Runner (DMR) 让您能够轻松地使用 Docker 管理、运行和部署 AI 模型。专为开发人员设计,Docker Model Runner 简化了从 Docker Hub 或任何 OCI 兼容注册表中拉取、运行和提供大型语言模型 (LLM) 及其他 AI 模型的过程。
通过与 Docker Desktop 和 Docker Engine 无缝集成,您可以通过 OpenAI 和 Ollama 兼容 API 提供模型,将 GGUF 文件打包为 OCI 工件,并通过命令行和图形界面与模型进行交互。
无论您是在构建生成式 AI 应用程序、试验机器学习工作流,还是将 AI 集成到软件开发生命周期中,Docker Model Runner 都提供了一种一致、安全且高效的方式来在本地处理 AI 模型。
主要功能
- 从 Docker Hub 拉取和推送模型
- 通过 OpenAI 和 Ollama 兼容 API 提供模型,轻松与现有应用程序集成
- 支持 llama.cpp、vLLM 和 Diffusers 推理引擎(vLLM 和 Diffusers 在配备 NVIDIA GPU 的 Linux 系统上可用)
- 使用 Diffusers 后端通过 Stable Diffusion 模型根据文本提示生成图像
- 将 GGUF 和 Safetensors 文件打包为 OCI 工件并发布到任何容器注册表
- 直接通过命令行或 Docker Desktop GUI 运行和与 AI 模型交互
- 连接到 AI 编码工具,如 Cline、Continue、Cursor 和 Aider
- 配置上下文大小和模型参数以调整性能
- 设置 Open WebUI 以获得类似 ChatGPT 的 Web 界面
- 管理本地模型并显示日志
- 显示提示和响应详情
- 支持多轮交互的对话上下文
系统要求
Docker Model Runner 支持以下平台:
Windows(amd64):
- NVIDIA GPU
- NVIDIA 驱动程序 576.57+
Windows(arm64):
-
Adreno 的 OpenCL
-
高通 Adreno GPU(6xx 系列及更高版本)
Note6xx 系列可能不完全支持某些 llama.cpp 功能。
- Apple Silicon
仅限 Docker Engine:
- 支持 CPU、NVIDIA (CUDA)、AMD (ROCm) 和 Vulkan 后端
- 使用 NVIDIA GPU 时需要 NVIDIA 驱动程序 575.57.08+
Docker Model Runner 的工作原理
模型在您首次使用时从 Docker Hub 拉取并存储在本地。它们仅在运行时收到请求时加载到内存中,并在不使用时卸载以优化资源。由于模型可能很大,初始拉取可能需要一些时间。之后,它们会被缓存在本地以便更快访问。您可以使用 OpenAI 和 Ollama 兼容 API 与模型进行交互。
推理引擎
Docker Model Runner 支持三种推理引擎:
| 引擎 | 最适合 | 模型格式 |
|---|---|---|
| llama.cpp | 本地开发、资源效率 | GGUF(量化) |
| vLLM | 生产环境、高吞吐量 | Safetensors |
| Diffusers | 图像生成(Stable Diffusion) | Safetensors |
llama.cpp 是默认引擎,可在所有平台上运行。vLLM 需要 NVIDIA GPU,支持 Linux x86_64 和 Windows with WSL2。Diffusers 支持图像生成,需要在 Linux(x86_64 或 ARM64)上使用 NVIDIA GPU。有关详细比较和设置,请参阅 推理引擎。
上下文大小
模型具有可配置的上下文大小(上下文长度),用于确定它们可以处理的 token 数量。默认值因模型而异,但通常为 2,048-8,192 个 token。您可以按模型调整此设置:
$ docker model configure --context-size 8192 ai/qwen2.5-coder
有关上下文大小和其他参数的详细信息,请参阅 配置选项。
Tip正在使用 Testcontainers 或 Docker Compose? Testcontainers for Java 和 Go,以及 Docker Compose 现已支持 Docker Model Runner。
已知问题
docker model 未被识别
如果您运行 Docker Model Runner 命令时看到:
docker: 'model' is not a docker command这意味着 Docker 无法找到插件,因为它不在预期的 CLI 插件目录中。
要解决此问题,请创建符号链接以便 Docker 能够检测到它:
$ ln -s /Applications/Docker.app/Contents/Resources/cli-plugins/docker-model ~/.docker/cli-plugins/docker-model
链接完成后,重新运行命令。
隐私和数据收集
Docker Model Runner 尊重您在 Docker Desktop 中的隐私设置。数据收集由发送使用情况统计信息设置控制:
- 已禁用:不收集任何使用数据
- 已启用:仅收集最小量的非个人数据:
- 模型名称(通过向 Docker Hub 发送 HEAD 请求)
- 用户代理信息
- 请求是来自主机还是容器
在使用 Docker Engine 运行 Docker Model Runner 时,无论任何设置如何,都会向 Docker Hub 发送 HEAD 请求以跟踪模型名称。
绝不会收集任何提示内容、响应或个人身份信息。
分享反馈
感谢您试用 Docker Model Runner。要报告错误或请求功能,请在 GitHub 上创建问题。您也可以通过启用 Docker Model Runner设置旁边的提供反馈链接提交反馈。
后续步骤
- 开始使用 DMR - 启用 DMR 并运行您的第一个模型
- API 参考 - OpenAI 和 Ollama 兼容 API 文档
- 配置选项 - 上下文大小和运行时参数
- 推理引擎 - llama.cpp、vLLM 和 Diffusers 详情
- IDE 集成 - 连接 Cline、Continue、Cursor 等工具
- Open WebUI 集成 - 设置 Web 聊天界面