关键要点
- 内置于Docker Desktop(macOS、Windows)和Docker Engine(Linux)——无需单独下载
- 本地推理引擎为面向CPU/Apple Silicon的llama.cpp,或面向NVIDIA GPU服务场景的vLLM
- 以原生宿主进程运行,在容器运行时之外,可直接访问GPU
- CLI命令:
docker model pull <模型>、docker model run <模型>、docker model list - 在宿主机上通过
http://localhost:12434/engines/v1,或在其他容器内通过http://model-runner.docker.internal/engines/v1提供兼容OpenAI的API - 模型来源于Docker Hub精选AI目录、其他兼容OCI的镜像仓库,或Hugging Face
- 无额外费用——该功能随Docker Desktop提供;Docker Desktop本身是否需要付费订阅取决于企业规模
📍 简单一句话
Docker Model Runner是内置于Docker Desktop和Docker Engine的功能,通过docker model CLI命令在本地运行LLM,以llama.cpp或vLLM作为原生宿主进程的推理引擎,并暴露兼容OpenAI的API。
💬 简单来说
如果你已经用Docker运行容器,Docker Model Runner可以让你以同样的方式——docker model pull和docker model run——拉取并运行AI模型,无需安装单独的聊天应用,而且模型本身并不在容器内运行。
📌注: 本评测是本地LLM软件目录中Docker Model Runner条目的深度配套文章——该页面提供了它与数十款其他本地AI工具的一览式对比。
Docker Model Runner是什么?
Docker Model Runner是Docker Desktop和Docker Engine的一项功能,用于在本地拉取并运行大语言模型,使用的正是开发者已经用于容器的同一套docker CLI。根据Docker官方产品页面,它提供本地优先的推理能力,并配有兼容OpenAI的API,可从Docker Hub、其他兼容OCI的镜像仓库或Hugging Face拉取模型。它不是带图形窗口的聊天应用——而是一项CLI功能加本地推理服务器,设计用于从终端、Docker Compose,或调用其API的代码中使用。
- 内置于Docker Desktop(macOS、Windows)中,并在Linux上作为Docker Engine的
docker-model-plugin软件包提供——没有单独的安装程序 - 本地推理引擎:面向CPU和Apple Silicon的llama.cpp,面向NVIDIA GPU服务场景的vLLM,根据Docker文档
- 模型来源:Docker Hub精选AI模型目录、任意兼容OCI的镜像仓库,或Hugging Face
- 与开发者围绕Docker已经使用的工具集成:Docker Compose、Testcontainers,以及通过兼容OpenAI的API集成LangChain、Spring AI、Open WebUI等框架
- 开发方:Docker, Inc.
安装与快速上手
Docker Model Runner是内置于Docker Desktop和Docker Engine中的CLI功能,而不是独立下载的应用,因此没有单独的安装程序或下载按钮——你安装Docker Desktop(或在Linux上安装Docker Engine加model-runner插件),docker model命令就会随之可用。
- 1在macOS或Windows上安装Docker Desktop,或在Linux上安装Docker Engine加model-runner插件(Debian/Ubuntu执行
sudo apt-get install docker-model-plugin,Fedora/RHEL执行sudo dnf install docker-model-plugin)。 - 2如果Model Runner尚未启用,启用它:
docker desktop enable model-runner(Docker Desktop),或确认该插件已在Docker Engine上启用。 - 3从Docker Hub的AI目录拉取模型:
docker model pull ai/smollm2:360M-Q4_K_M。 - 4直接从命令行运行:
docker model run ai/smollm2:360M-Q4_K_M "Give me a fact about whales." - 5随时用
docker model list查看已在本地拉取的模型。 - 6如果想通过HTTP而非CLI访问模型,可使用兼容OpenAI的API——具体端点见下文兼容OpenAI的API。
为什么它以宿主进程运行,而非在容器内
尽管命令前缀是docker,Docker Model Runner并不会在容器内运行模型推理。 Docker官方推出该功能的博客文章对此说得很明确:运行docker model run"不会启动任何容器"。相反,该命令会调用一个由Model Runner通过Docker Desktop托管的推理服务器API,而这个推理服务器会将其推理引擎(llama.cpp或vLLM)作为原生宿主进程运行——这是一个直接运行在你操作系统上的普通进程,就像其他任何本地安装的程序一样。
- 官方给出的原因是GPU访问:原生宿主进程可以直接使用机器的GPU(Apple Silicon的集成GPU,或NVIDIA GPU),无需经过容器到宿主机的GPU直通这一额外间接层
- 这是出于性能考虑的有意架构选择,而不是Docker容器运行时的局限——Docker Model Runner在工作流的其他环节仍会使用容器(例如部分模型打包基于OCI),只是推理进程本身不使用容器
- 实际效果是,一个正在运行的模型的行为更像你机器上的一个后台服务,而不像可以用
docker ps检查的容器 - 模型会一直驻留在内存中,直到请求了另一个模型或经过一段空闲时间,因此启动后的第一次请求会比之后的请求慢
llama.cpp vs. vLLM:哪个引擎在运行你的模型
Docker Model Runner并未实现自己的推理引擎——它封装了两个现有的开源引擎,并根据你的硬件和模型格式在两者之间做出选择,根据Docker文档。
llama.cpp
- 适用场景:
- 本地开发、资源高效的推理
- 模型格式:
- GGUF(量化)
- 支持平台:
- CPU和Apple Silicon;此外还有部分Windows/Linux GPU后端
vLLM
- 适用场景:
- 面向生产环境、更高吞吐量的服务
- 模型格式:
- Safetensors
- 支持平台:
- 搭载NVIDIA GPU的Linux和Windows(WSL2)
这与本站llama.cpp深度解析中详细介绍的引擎是同一个llama.cpp,也与vLLM深度解析中介绍的引擎是同一个vLLM——Docker Model Runner是构建在这些引擎之上的打包与CLI层,而不是从零重造的替代方案。Docker还记录了在搭载NVIDIA GPU的Linux上对图像生成模型(Stable Diffusion)的实验性Diffusers支持,这超出了本篇以LLM为重点的评测范围。
兼容OpenAI的API
根据Docker关于该功能的博客文章,Docker Model Runner暴露了一个兼容OpenAI的HTTP API,使现有的OpenAI客户端代码可以指向本地模型,而不是云端端点。
- 从宿主机访问:
http://localhost:12434/engines/v1(需先通过docker desktop enable model-runner --tcp 12434启用一次TCP访问) - 从同一Docker网络中的其他容器访问:
http://model-runner.docker.internal/engines/v1 - 根据Docker自身给出的集成示例,兼容已经为OpenAI API格式构建的工具和框架,包括LangChain、Spring AI和Open WebUI
- 模型在请求到达时按需加载,并会一直驻留内存,直到请求了另一个模型或经过空闲超时
支持的平台
根据Docker文档,Docker Model Runner的硬件支持因操作系统和所用推理引擎而异。
macOS
- 详情:
- Apple Silicon,通过llama.cpp实现原生GPU加速
Windows
- 详情:
- 搭载NVIDIA GPU的AMD64(驱动576.57或更新)可用llama.cpp或vLLM(WSL2);搭载Qualcomm Adreno 6xx系列GPU的ARM64可用llama.cpp
Linux
- 详情:
- 通过llama.cpp支持纯CPU、NVIDIA CUDA、AMD ROCm或Vulkan后端;通过vLLM支持NVIDIA GPU(驱动575.57.08或更新)
具体的最低驱动版本和支持的GPU系列会随Docker对该功能的更新而变化——在围绕特定GPU规划部署之前,请到docs.docker.com/ai/model-runner确认当前要求。
Docker Model Runner定价
Docker Model Runner本身不产生任何额外费用——它是Docker Desktop和Docker Engine自带的功能。 你是否需要付费,完全取决于你对Docker Desktop的使用是否符合Docker自身订阅服务协议中的免费条件。
Personal(免费)
- 适用对象:
- 个人用户、教育用途、非商业开源项目,以及员工少于250人且年收入低于1000万美元的企业
- 是否包含Docker Model Runner?:
- 是
Pro / Team / Business(付费)
- 适用对象:
- 更大规模的企业,或需要超出免费方案范围的团队功能的组织
- 是否包含Docker Model Runner?:
- 是
无论订阅方案如何,Docker Hub精选的AI模型均可免费拉取。Docker的付费方案(Pro、Team、Business)增加的是与Model Runner本身无关的功能,例如团队席位和集中管理——具体价格请查看docker.com/pricing,这些价格会独立于Model Runner功能本身而变动。
谁适合使用Docker Model Runner?
Docker Model Runner适合一种特定的工作流:已经深度使用Docker、希望加入本地LLM推理而不想再给技术栈添加第二个工具的开发者。
竞品与替代方案
Docker Model Runner属于本地推理运行时这一细分领域,与封装同类底层引擎的CLI优先型引擎和桌面应用并列。完整目录见本地LLM软件目录。
- llama.cpp — Docker Model Runner自身在CPU/Apple Silicon上使用的推理引擎;直接使用它可以获得Docker封装层未开放的构建参数和量化控制权。
- vLLM — Docker Model Runner在生产工作负载中使用的同一款GPU服务引擎;如果你需要vLLM完整的配置能力,而不满足于Docker简化过的CLI,直接使用它会更合适。
- Ollama — 最接近的"一条命令"对比对象:与Docker Model Runner类似,Ollama也在简单的pull-and-run CLI和兼容OpenAI的API背后封装了llama.cpp,但它是一个独立工具,而非Docker Desktop的功能——如果你还没有使用Docker,它会更合适。
- Jan — 一款基于同一款llama.cpp引擎、带图形化聊天窗口的免费开源桌面应用,适合希望使用点选式界面而非CLI加API工作流的开发者。
- GPT4All — 另一款开源的、基于llama.cpp的本地聊天应用,满足与Jan相同的"要窗口不要终端"需求。
常见误区
关于Docker Model Runner的大多数困惑,都源于假设它的行为与普通Docker容器工作负载相同,或者忽略了它是Docker Desktop的一项功能,而不是需要单独安装的产品。
常见问题
Docker Model Runner是什么?
Docker Model Runner是内置于Docker Desktop和Docker Engine中的功能,通过docker model CLI命令在本地运行大语言模型,使用llama.cpp或vLLM作为推理引擎,并暴露兼容OpenAI的API。
Docker Model Runner是免费的吗?
该功能本身不产生任何额外费用——它是Docker Desktop和Docker Engine的一部分。是否需要付费的Docker订阅取决于你所在组织的规模:根据Docker的订阅服务协议,Docker Desktop对个人用户、非商业开源项目,以及员工少于250人且年收入低于1000万美元的企业免费。
Docker Model Runner是否在容器内运行模型?
不是。尽管命令前缀是docker model,但根据介绍该功能的Docker官方博客文章,推理引擎(llama.cpp或vLLM)以原生宿主进程运行,在容器运行时之外——这使其能够直接访问GPU硬件,而不必经过容器隔离。
Docker Model Runner使用哪些CLI命令?
核心命令包括:用于下载模型的docker model pull <模型>,用于从命令行运行推理的docker model run <模型>,以及用于查看已在本地拉取的模型的docker model list。
Docker Model Runner的API端点是什么?
兼容OpenAI的API从宿主机暴露在http://localhost:12434/engines/v1(需先启用TCP访问),或从同一Docker网络中的其他容器暴露在http://model-runner.docker.internal/engines/v1。
Docker Model Runner使用llama.cpp还是vLLM?
视情况而定,两者都会用到。llama.cpp负责本地开发时的CPU和Apple Silicon推理;vLLM负责Linux和Windows WSL2上基于NVIDIA GPU的服务,面向更高吞吐量的生产使用。
Docker Model Runner支持哪些平台?
搭载Apple Silicon的macOS;搭载NVIDIA GPU的AMD64或搭载Qualcomm Adreno 6xx系列GPU的ARM64的Windows;以及支持纯CPU、NVIDIA CUDA、AMD ROCm或Vulkan后端的Linux。详情见上文支持的平台部分。
Docker Model Runner与Ollama有什么不同?
两者都在简单的pull-and-run CLI和兼容OpenAI的API背后封装了llama.cpp。主要区别在于打包方式:Ollama是需要单独安装的独立工具,而Docker Model Runner是Docker Desktop/Engine的一项功能——如果你已经每天使用Docker,选择它会更合适,因为不会在工作流中再添加第二个工具。
Docker Model Runner的模型来自哪里?
根据Docker产品页面,模型可从Docker Hub精选AI模型目录、任何其他兼容OCI的镜像仓库,或Hugging Face拉取。
