重要なポイント
- 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 - OpenAI互換APIをホストから
http://localhost:12434/engines/v1、他のコンテナからhttp://model-runner.docker.internal/engines/v1で提供 - モデルは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 CLIを使って、大規模言語モデルをローカルで取得・実行するためのDocker DesktopおよびDocker Engineの機能です。 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コマンドが利用可能になります。
- 1macOSまたは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)。 - 2Model Runnerがまだ有効でない場合は有効化します:
docker desktop enable model-runner(Docker Desktop)、またはDocker Engineでプラグインが有効になっていることを確認します。 - 3Docker 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でローカルに取得済みのモデルを一覧表示できます。 - 6CLIではなくHTTP経由でモデルにアクセスするには、OpenAI互換APIを使用します——正確なエンドポイントは下記のOpenAI互換APIを参照してください。
なぜコンテナではなくホストプロセスとして動くのか
dockerというコマンド接頭辞にもかかわらず、Docker Model Runnerはモデル推論をコンテナ内では実行しません。 この機能を紹介するDocker公式ブログ記事はこの点を明確にしており、docker model runを実行しても「コンテナは一切起動しない」としています。代わりに、Docker Desktop経由でModel Runnerがホストする推論サーバーAPIを呼び出し、その推論サーバーは推論エンジン(llama.cppまたはvLLM)をネイティブホストプロセスとして実行します——これは、他のローカルにインストールされたプログラムと同様、OS上で直接動作する通常のプロセスです。
- 示されている理由はGPUアクセスです。ネイティブホストプロセスであれば、コンテナからホストへのGPUパススルーという余分な間接層を経ずに、マシンのGPU(Apple Silicon内蔵GPUやNVIDIA GPU)へ直接アクセスできます
- これはパフォーマンスのための意図的なアーキテクチャ選択であり、Dockerのコンテナランタイムの制約ではありません。Docker Model Runnerはワークフローの他の部分ではコンテナを使用しています(例えば一部のモデルパッケージングはOCIベースです)が、推論プロセス自体には使いません
- 実際には、実行中のモデルは
docker psで確認できるコンテナというより、マシン上のバックグラウンドサービスのように振る舞います - モデルは、別のモデルが要求されるか、一定の非アクティブ期間が過ぎるまでメモリに常駐し続けるため、起動後の最初のリクエストは以降のリクエストより時間がかかります
llama.cpp vs. vLLM:どちらのエンジンがモデルを動かすか
Docker Model Runnerは独自の推論エンジンを実装しているわけではなく、既存のオープンソースエンジン2つをラップし、ハードウェアとモデル形式に応じてどちらを使うか選択します(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 Model Runnerは、既存のOpenAIクライアントコードをクラウドのエンドポイントではなくローカルモデルへ向けられるよう、OpenAI互換のHTTP APIを公開します(Dockerの機能紹介ブログ記事による)。
- ホストマシンから:
http://localhost:12434/engines/v1(TCPアクセスはdocker desktop enable model-runner --tcp 12434で一度有効化する必要があります) - 同じDockerネットワーク上の別のコンテナから:
http://model-runner.docker.internal/engines/v1 - Dockerの統合例によれば、LangChain、Spring AI、Open WebUIなど、すでにOpenAI API形式向けに構築されているツールやフレームワークと互換性があります
- モデルはリクエストが到着すると必要に応じてロードされ、別のモデルが要求されるか非アクティブタイムアウトが経過するまでメモリに常駐します
対応プラットフォーム
Docker Model Runnerのハードウェア対応状況は、OSと使用する推論エンジンによって異なります(Dockerのドキュメントによる)。
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独自のサブスクリプションサービス契約のもとで、あなたのDocker Desktop利用が無料の対象になるかどうかにすべてかかっています。
Personal(無料)
- 対象:
- 個人、教育機関、非営利オープンソースプロジェクト、および従業員250人未満かつ年間売上高1,000万ドル未満の企業
- 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を日常的に使っており、スタックに2つ目のツールを追加せずにローカルLLM推論を加えたい開発者です。
競合とその他の選択肢
Docker Model Runnerは、同じ基盤エンジンをラップするCLIファーストのエンジンやデスクトップアプリと並んで、ローカル推論ランタイムのセグメントに位置します。全カタログはローカルLLMソフトウェアディレクトリを参照してください。
- llama.cpp — Docker Model Runner自体がCPU/Apple Silicon向けに使用している推論エンジン。直接使うことで、Dockerのラッパーが公開していないビルドフラグや量子化のコントロールが得られます。
- vLLM — Docker Model Runnerが本番ワークロード向けに使用しているのと同じGPUサービングエンジン。Dockerの簡略化されたCLIの上ではなく、vLLMの設定オプションをフルに使いたい場合は、直接実行する方が適しています。
- Ollama — 最も近い「ワンコマンド」比較対象です。Docker Model Runnerと同様、Ollamaもシンプルなpull-and-run CLIとOpenAI互換APIの背後でllama.cppをラップしていますが、Docker Desktopの機能ではなく独立したツールとして提供されます——まだDockerを使っていない場合はこちらが適しています。
- Jan — 同じllama.cppエンジンをベースにした、グラフィカルなチャットウィンドウを持つ無料・オープンソースのデスクトップアプリ。CLIとAPIのワークフローよりポイント&クリックのインターフェースを求める開発者向けです。
- GPT4All — Janと同じ「ターミナルではなくウィンドウが欲しい」というユースケース向けの、もう一つのオープンソースでllama.cppベースのローカルチャットアプリです。
よくある誤解
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人未満かつ年間売上高1,000万ドル未満の企業には無料です。
Docker Model Runnerはコンテナ内でモデルを実行しますか?
いいえ。docker modelというコマンド接頭辞にもかかわらず、推論エンジン(llama.cppまたはvLLM)はコンテナランタイムの外側でネイティブホストプロセスとして動作します。この機能を紹介するDocker公式ブログ記事によると、これによりコンテナの分離を経由せず、GPUハードウェアへ直接アクセスできます。
Docker Model Runnerはどのようなコマンドを使いますか?
主要なコマンドは、モデルをダウンロードする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を日常的に使っているなら、ワークフローに2つ目のツールを追加せずに済むため、こちらの方が適しています。
Docker Model Runnerのモデルはどこから来ますか?
Dockerの製品ページによると、モデルはDocker Hubの厳選AIモデルカタログ、他の任意のOCI準拠レジストリ、またはHugging Faceから取得できます。
