Docker Model Runner
Docker Model Runner (DMR) 让使用 Docker 管理、运行和部署 AI 模型变得简单。Docker Model Runner 专为开发者设计,简化了从 Docker Hub 或任何符合 OCI 标准的注册中心拉取、运行和服务大型语言模型 (LLM) 及其他 AI 模型的流程。
通过与 Docker Desktop 和 Docker Engine 的无缝集成,您可以通过与 OpenAI 兼容的 API 提供模型服务,将 GGUF 文件打包为 OCI Artifacts,并通过命令行和图形界面与模型交互。
无论您是构建生成式 AI 应用、试验机器学习工作流,还是将 AI 集成到软件开发生命周期中,Docker Model Runner 都提供了一种一致、安全且高效的方式在本地使用 AI 模型。
主要特性
- 从 Docker Hub 拉取和推送模型
- 通过与 OpenAI 兼容的 API 提供模型服务,便于与现有应用集成
- 支持 llama.cpp 和 vLLM 推理引擎(vLLM 目前仅在 Linux x86_64/amd64 上支持 NVIDIA GPU)
- 将 GGUF 和 Safetensors 文件打包为 OCI Artifacts 并发布到任何容器注册中心
- 直接从命令行或 Docker Desktop GUI 运行和交互 AI 模型
- 管理本地模型并显示日志
- 显示提示和响应详情
- 支持对话上下文,实现多轮交互
系统要求
Docker Model Runner 支持以下平台:
Windows(amd64):
- NVIDIA GPU
- NVIDIA 驱动 576.57+
Windows(arm64):
-
Adreno 的 OpenCL
-
Qualcomm 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 兼容的 API 与模型交互。
Docker Model Runner 同时支持 llama.cpp 和 vLLM 作为推理引擎,为不同的模型格式和性能要求提供了灵活性。更多详情,请参阅 Docker Model Runner 仓库。
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。要报告错误或请求功能,请 在 GitHub 上提交 issue。您也可以通过 Enable Docker Model Runner 设置旁边的 Give feedback 链接提供反馈。