LLMは非決定論的な性質を持つため、動的でリッチなテストデータの生成に理想的であり、アプリの動作を検証し、一貫性のある高品質のユーザーエクスペリエンスを確保するのに最適です。今日は、 DockerのModel Runner とMicrocksを使用して、アプリケーションをテストするための動的モックAPIを生成する方法について説明します。
Microcksは、 開発者が開発とテストのためにモックサービスを迅速にスピンアップできる強力なCNCFツールです。事前定義されたモックレスポンスを提供するか、OpenAPIスキーマから直接生成することで、実際のAPIをヒットする代わりにこれらのモックを使用するようにアプリケーションをポイントでき、効率的で安全なテスト環境を実現できます。
Docker Model Runner は、Docker Desktop 内で LLM をローカルに実行 するための便利な方法です。OpenAIと互換性のあるAPIを提供し、ローカルのハードウェアリソースを使用して、高度なAI機能をプロジェクトにシームレスに統合できます。
MicrocksをDocker Model Runnerと統合することで、AIが生成したレスポンスでモックAPIを充実させ、静的な例よりも厳密でない現実的で多様なデータを作成できます。
このガイドでは、これら 2 つのツールを一緒に設定する方法を探り、ローカル AI を利用した動的モック生成の利点を提供します。
Docker Model Runner のセットアップ
まず、ローカルAIアシスタントのセットアップのためのGooseの設定に関する 以前のブログ で説明したように、Docker Model Runnerが有効になっていることを確認します。次に、Docker Hub から目的の LLM モデル を選択してプルします。例えば:
docker model pull ai/qwen3:8B-Q4_0
Docker Model Runner を使用した Microcks の構成
まず、Microcksリポジトリをクローンします。
git clone https://github.com/microcks/microcks --depth 1
Docker Compose セットアップ ディレクトリに移動します。
cd microcks/install/docker-compose
Microcks 内で AI Copilot 機能を有効にするには、一部の構成を調整する必要があります。/config/application.properties
ファイルで、Docker Model Runner を使用するように AI Copilot を構成します。
ai-copilot.enabled=true
ai-copilot.implementation=openai
ai-copilot.openai.api-key=irrelevant
ai-copilot.openai.api-url=http://model-runner.docker.internal:80/engines/llama.cpp/
ai-copilot.openai.timeout=600
ai-copilot.openai.maxTokens=10000
ai-copilot.openai.model=ai/qwen3:8B-Q4_0
私たちは、 model-runner.docker.internal:80
OpenAI 互換 API のベース URL として。Docker Model Runner は、Docker Desktop で実行されているコンテナから利用できます。これを使用すると、コンテナとモデルランナー間の直接通信が保証され、ホストマシンポートを使用した不要なネットワークを回避できます。
次に、次の行を Microcks config/features.properties
ファイルに追加して、copilot 機能自体を有効にします。
features.feature.ai-copilot.enabled=true
Microcksの実行
Docker Composeを使用してMicrocksを開発モードで起動します。
docker-compose -f docker-compose-devmode.yml up
立ち上がったら、http://localhost:8080で Microcks UI にアクセスします。
テスト用のサンプル API をインストールします。Microcksページで次のボタンをクリックしてください。
Microcks Hub → MicrocksIO サンプル API → pastry-api-openapi v.2.0。0→ Go → Direct import → をインストールします。

図 1: Pastry API 2のスクリーンショット。Microcks Hubの0 ページとインストールするオプションがあります。
AI Copilot サンプルの使用
Microcks UI内で、 インポートしたAPIのサービスページに移動し 、強化する操作を選択します。[AI Copilot Samples] ダイアログを開き、Docker Model Runner を介して構成された LLM をクエリするように Microcks に促します。
![- AIcopilotSamples (英語) Microcks 内の [AI Copilot Samples] ダイアログの表示。](https://www.docker.com/ja-jp/app/uploads/2025/07/AIcopilotSamples.webp)
図 2:Microcks内の「AI Copilot Samples」ダイアログの表示。
モデルが要求を処理するときに、GPU アクティビティが増加することに気付く場合があります。
処理後、AIが生成したモックレスポンスが表示され、モック操作に直接レビューしたり追加したりできるようになります。

図 3:MicrocksのAI Copilot推奨サンプル内で生成されたモックデータ。
生成されたモックは、簡単な curl
コマンドで簡単にテストできます。例えば:
curl -X PATCH 'http://localhost:8080/rest/API+Pastry+-+2.0/2.0.0/pastry/Chocolate+Cake' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{"status":"out_of_stock"}'
{
"name" : "Chocolate Cake",
"description" : "Rich chocolate cake with vanilla frosting",
"size" : "L",
"price" : 12.99,
"status" : "out_of_stock"
}
これにより、AIが生成した現実的な応答が返され、テストデータの品質と信頼性が向上します。
これで、このアプローチをテストで使用できます。たとえば、ショッピング カート アプリケーションでは、アプリが在庫サービスに依存しています。現実的でありながらランダム化されたモック データを使用すると、同じ一連のテストでより多くのアプリケーションの動作をカバーできます。再現性を高めるために、Docker Model Runner の依存関係と選択したモデルを compose.yml
で明示的に指定することもできます。
models:
qwen3:
model: ai/qwen3:8B-Q4_0
context_size: 8096
次に、コンポーズのセットアップを開始すると、コンテナの場合と同様に、モデルもプルされ、使用可能になるのを待ちます。
結論
Docker Model Runner は、 LLM を実行するための優れたローカル リソース であり、OpenAI API との互換性を提供し、既存のワークフローへのシームレスな統合を可能にします。Microcksのようなツールは、Model Runnerを活用して、モックAPIの動的なサンプルレスポンスを生成し、統合テストのためのより豊富で現実的な合成データを提供します。
ローカルのAIワークフローがある場合、またはLLMをローカルで実行している場合は、 Dockerフォーラムで話し合ってください。Docker とのローカル AI 統合をさらに進めたいと考えています。
さらに詳しく
- Docker Model Runner の設計アーキテクチャの内部をご覧ください。
- モデル分散仕様の背後にある ストーリー をご覧ください
- Docker Model Runner のクイックスタートガイドをお読みください。
- Model Runner のドキュメントが見つかります。
- 新しいAIソリューションのページをご覧ください
- Docker Navigator ニュースレターを購読してください。
- Docker は初めてですか? アカウントを作成します。
- ご質問はございますか? Docker コミュニティがお手伝いします。