Share feedback
Answers are generated based on the documentation.

Docker Model Runner

Requires: Docker Engine or Docker Desktop (Windows) 4.41+ or Docker Desktop (MacOS) 4.40+
For: See Requirements section below

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 Model Runner 支持以下平台:

Windows(amd64):

  • NVIDIA GPU
  • NVIDIA 驱动程序 576.57+

Windows(arm64):

  • Adreno 的 OpenCL

  • 高通 Adreno GPU(6xx 系列及更高版本)

    Note

    6xx 系列可能不完全支持某些 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 JavaGo,以及 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设置旁边的提供反馈链接提交反馈。

后续步骤