OpenCodeずDocker Model RunnerによるプラむベヌトAIコヌディング

投皿日 Jan 15, 2026

AI搭茉のコヌディングアシスタントは、珟代の開発ワヌクフロヌの䞭栞的な䞀郚ずなり぀぀ありたす。同時に、倚くのチヌムは自分たちのコヌドがどこに行くのか、どのように凊理されるのか、誰がアクセスできるのかに぀いおたすたす懞念しおいたす。

OpenCodeずDocker Model Runnerを組み合わせるこずで、デヌタ、むンフラ、支出を完党にコントロヌルし぀぀、匷力なAI支揎コヌディング䜓隓を構築できたす。

この蚘事では、Docker Model Runnerを䜿えるようにOpenCodeを蚭定する方法を解説し、この構成が なぜプラむバシヌ第䞀 で コスト意識の高い AI支揎開発を可胜にするのかを説明したす。

OpenCodeずDocker Model Runnerずは䜕ですか?

OpenCode は、開発者のワヌクフロヌに盎接統合するために蚭蚈されたオヌプン゜ヌスのコヌディングアシスタントです。耇数のモデルプロバむダヌをサポヌトし、柔軟な構成システムを提䟛しおいるため、それらの間を簡単に切り替えるこずができたす。

Docker Model Runner(DMR)は 、倧芏暡な蚀語モデルを簡単に実行・管理できるようにしたす。OpenAI互換APIを公開し、既にOpenAIスタむルの゚ンドポむントをサポヌトしおいる既存のツヌルず簡単に統合できたす。

これらは、完党に自分で管理するむンフラ内で動䜜するモデルによっお支えられた、銎染みのある開発者䜓隓を提䟛したす。

OpenCode構成の倉曎

OpenCode は、プロバむダヌやモデルの定矩方法を制埡する蚭定ファむルを䜿っおカスタマむズできたす。

この構成は2぀の堎所のいずれかで定矩できたす:

  • グロヌバル構成: ~/.config/opencode/opencode.json
  • プロゞェクト固有の構成:プロゞェクトのルヌトにopencode.json

プロゞェクトレベルの構成が存圚する堎合、それがグロヌバルな構成よりも優先されたす。

Docker Model RunnerでのOpenCodeの䜿甚

Docker Model Runner(DMR)はOpenAI互換APIを公開し、OpenCodeずの統合を容易にしたす。この統合を有効にするには、 opencode.json ファむルをDMRサヌバヌに指定し、ロヌカルで利甚可胜なモデルを宣蚀するだけで枈みたす。

Docker Model Runnerが以䞋の䜍眮で動䜜しおいるず仮定したす:http://localhost:12434/v1

opencode.json構成は次のようなものかもしれたせん:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "dmr": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Docker Model Runner",
      "options": {
        "baseURL": "http://localhost:12434/v1",
      },
      "models": {
        "qwen-coder3": {
          "name": "qwen-coder3"
        },
        "devstral-small-2": {
          "name": "devstral-small-2"
        }
      }
    }
  }
}

この構成により、OpenCodeはDMRを通じおロヌカルホストモデルを掻甚し、匷力か぀プラむベヌトなコヌディングアシスタントを提䟛したす。

Docker Desktopナヌザヌぞの泚意事項:

Docker Desktop経由でDocker Model Runnerを動かしおいる堎合は、TCPアクセスが有効になっおいるこずを確認しおください。OpenCodeはHTTP経由でDocker Model Runnerに接続しおおり、TCPポヌトが公開されおいる必芁がありたす:

docker desktop enable model-runner --tcp

有効化されるず、Docker Model Runnerは http://localhost:12434/v1でアクセスできるようになりたす。

OpenCode DMRの図 1 1

図 1:Docker Model Runnerを通じおOpenCodeがロヌカルホストモデルを掻甚できるようにする

OpenCode DMRの図 2 1

図 2:qwen3-coder、devstral-small-2、gpt-oss などのモデルはコヌディングのナヌスケヌスに適しおいたす。

Model RunnerでOpenCodeを䜿甚する利点

プラむバシヌ・バむ・デザむン

OpenCodeずDocker Model Runnerを組み合わせるこずで、すべおのモデル掚論を管理するむンフラ内で行うこずで、AI支揎開発においおプラむバシヌを第䞀に考えるこずができたす。

Docker Model Runnerは、OpenAI互換API゚ンドポむントの背埌でモデルを実行したす。OpenCodeはプロンプト、゜ヌスコヌド、コンテキストをその゚ンドポむントにのみ送信し、他のどこにも送りたせん。

これはですね

  • 第䞉者のAIプロバむダヌは関䞎しおいたせん
  • 倖郚デヌタ共有やベンダヌ偎の保持はありたせん
  • 倖郚サヌビスによるコヌドのトレヌニングもありたせん

OpenCodeの芖点から芋るず、プロバむダヌは単なるAPI゚ンドポむントに過ぎたせん。その゚ンドポむントが開発者マシン、瀟内サヌバヌ、プラむベヌトクラりドのいずれかで動䜜するかは完党にあなた次第です。

コスト管理

プラむバシヌだけでなく、Docker Model Runnerでモデルを実行させるこずは、ホストされたAI APIに比べお倧きなコスト優䜍性をもたらしたす。

クラりドホストのコヌディングアシスタントは非垞に高䟡になるこずがありたす。特に以䞋の堎合:

  • 倧芏暡なリポゞトリずの連携
  • 長い䌚話文脈やコヌド文脈の䌝達
  • 開発䞭に頻繁に反埩プロンプトを実行する

Docker Model Runnerでは、掚論は自瀟のハヌドりェア䞊で動䜜したす。䞀床モデルを匕き出されるず、 トヌクンごずの手数料もリク゚ストベヌスの䟡栌蚭定も、予期せぬ請求もありたせん。TeamsはAPIコストの䞊昇を気にせずに自由に利甚を拡倧できたす。

掚奚コヌディングモデル

OpenCodeずDocker Model Runnerを組み合わせお䜿甚する堎合、モデルの遞択は品質ず開発者䜓隓の䞡方に盎接圱響したす。倚くの汎甚的なマむトモデルは比范的うたく機胜したすが、 コヌディングに特化したモデルは長いコンテキストりィンドりやコヌド認識的な掚論に最適化されおおり、これは特に珟実䞖界のリポゞトリで重芁です。

以䞋のモデルはOpenCodeおよびDocker Model Runnerでの䜿甚に適しおいたす。

これらのモデルはそれぞれDocker Model Runnerを通じお提䟛でき、OpenAI互換APIを通じお公開されたす。

これらのモデルは、以䞋を実行すれば匕き出せたす:

docker model pull qwen3-coder

Docker Hubからモデルを匕き出すこずずHugging Face

Docker Model Runnerは Docker Hubだけでなく、 Hugging Face から盎接モデルを匕き出し、それらを他のDockerモデルず同様に実行・共有可胜なOCIアヌティファクトに自動倉換できたす。

䟋えば、Hugging Faceから盎接モデルを抜出できたす:

docker model pull huggingface.co/unsloth/Ministral-3-14B-Instruct-2512-GGUF

これにより、チヌムは䞀貫性や運甚性を損なうこずなく、より広範なオヌプンモデル゚コシステムにアクセスできたす。

コンテキストの長さが重芁です

コヌディングタスクでは、パラメヌタ数よりもコンテキストの長さの方が重芁になるこずが倚いです。倧芏暡なリポゞトリ、マルチファむルリファクタ、長い䌚話履歎は、モデルにより倚くのコンテキストを枡せるこずで恩恵を受けたす。

デフォルトでは:

  • qwen3-coder → 128K コンテキスト
  • devstral-small-2 → 128K コンテキスト
  • GPT-OSS → 4、096 トヌクン

違いはモデルの意図に垰着したす。

QWEN3-coder および devstral-small-2 はコヌディングに特化したモデルで、倧量の゜ヌスコヌド、プロゞェクト構造、関連するコンテキストを単䞀のリク゚ストで取り蟌むよう蚭蚈されおいたす。これらのナヌスケヌスでは、倧きなデフォルトのコンテキストりィンドりが䞍可欠です。

䞀方、GPT-OSSは汎甚モデルです。デフォルトのコンテキストサむズは、コヌド䞭心のワヌクフロヌにおいお非垞に長い入力よりも重芁床が䜎い、より広範な最適化目暙を反映しおいたす。

GPT-OSSのコンテキストサむズ拡倧

より倧きなコンテキストりィンドりで効果が良いコヌディングタスクに gpt-oss を䜿いたい堎合、Docker Model Runnerはコンテキストサむズを拡倧しおモデルを簡単に再パッケヌゞ化できたす。

䟋えば、128Kのコンテキストりィンドりを持぀GPT-OSSのバヌゞョンを䜜成するには、以䞋を実行したす:

docker model pull gpt-oss # In case it's not pulled
docker model package --from gpt-oss --context-size 128000 gpt-oss:128K

これにより、拡匵されたコンテキスト長を持぀新しいモデルアヌティファクトが䜜成され、他のモデルず同様にDocker Model Runnerで提䟛されたす。
パッケヌゞ化埌、 opencode.json 構成でこのモデルを参照できたす:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "dmr": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Docker Model Runner",
      "options": {
        "baseURL": "http://localhost:12434/v1"
      },
      "models": {
        "gpt-oss:128K": {
          "name": "gpt-oss (128K)"
        }
      }
    }
  }
}

チヌム内でモデルを共有する

モデルをOCIアヌティファクトずしおパッケヌゞ化するこずには远加の利点がありたす。それは 、埗られたモデルをDocker Hubやプラむベヌトレゞストリにプッシュできるずいうこずです。

これによりチヌムは以䞋のこずができたす:

  • 特定のモデルバリアント(コンテキストサむズを含む)を暙準化するこず
  • ロヌカル再構成なしで開発者間でモデル共有
  • 環境間での䞀貫した挙動を確保する
  • バヌゞョンずロヌルバックモデルの倉曎を明瀺的に行いたす

各開発者が独立しおモデルをチュヌニングするのではなく、チヌムはモデルを䞀床䜜り䞊げお再利甚する䞀流の成果物ずしお扱うこずができたす。

すべおをたずめる:CLIのモデルを䜿う

Docker Model Runnerを蚭定し、gpt-oss:128Kモデルをパッケヌゞ化すれば、OpenCodeからすぐに䜿い始められたす。

このセクションでは、モデルを遞択し、それを䜿っおDockerモデルプロゞェクト内で盎接 agents.md ファむルを生成する方法を解説したす。

ステップ 1:モデルが利甚可胜かどうか確認する

たず、パッケヌゞモデルが地元で入手可胜かどうかを確認したしょう:

docker model ls

利甚可胜なモデルの䞭にGPT-OSS:128Kがリストされおいるのが芋られたす。もしそうでなければ、パッケヌゞングの工皋が無事に完了しおいるこずを確認しおください。

ステップ 2:モデルを䜿甚するためにOpenCodeを蚭定する

プロゞェクトのopencode.jsonにパッケヌゞモデルが含たれおいるこずを確認しおください:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "dmr": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Docker Model Runner",
      "options": {
        "baseURL": "http://localhost:12434/v1"
      },
      "models": {
        "gpt-oss": {
          "name": "gpt-oss:128K"
        }
      }
    }
  }
}

これにより、モデルはdmrプロバむダヌのもずでOpenCodeに利甚可胜ずなりたす。

ステップ 3:プロゞェクト内でOpenCodeを開始する

Dockerモデルプロゞェクトのルヌトから、OpenCodeを開始したす:

opencode

リストからモデルを遞択するには以䞋を実行したす:

/models

OpenCode DMRの図 1

図 3:OpenCodeのDocker Model RunnerによるGPT-OSSモデルの遞択

ステップ 4:OpenCodeに agents.md を生成させる

OpenCodeが実行されたら、リポゞトリをコンテキストずしおモデルに agents.md ファむルの生成を促したす。

Generate an agents.md file in the project root following the agents.md specification and examples.

Use this repository as context and include sections that help an AI agent work effectively with this project, including:
- Project overview
- Build and test commands
- Code style guidelines
- Testing instructions
- Security considerations

Base the content on the actual structure, tooling, and conventions used in this repository.
Keep the file concise, practical, and actionable for an AI agent contributing to the project.

OpenCodeはDocker Model Runnerず連携しおいるため、リポゞトリ構造や関連ファむルを安党にモデルに枡し、むンフラ倖にデヌタを送るこずなく管理できたす。

拡匵された 128Kコンテキストりィンドりにより、モデルはプロゞェクトのより倧きな郚分を掚論でき、より正確で有甚な agents.md が埗られたす。

OpenCode DMRの図 2

図 4:結果ずしお埗られる agents.md ファむル

ステップ 5:Docker Model Runnerぞのレビュヌず貢献

ファむルが生成されるず:

cat agents.md

プロゞェクトを正確に反映するよう必芁な調敎を行い、他のプロゞェクト成果物ず同様にコミットしおください:

git add agents.md
git commit -m "Add agents documentation"

この時点で、最初のDocker Model Runnerプルリク゚ストを開く準備ができおいたす。

OpenCodeずDocker Model Runnerを組み合わせるこずで、高品質なドキュメントやプロゞェクト成果物を簡単に提䟛でき、すべおのモデル掚論やリポゞトリのコンテキストを管理するむンフラ内に収められたす。

参加方法

Docker Model Runnerの匷みはそのコミュニティにあり、垞に成長の䜙地がありたす。このプロゞェクトを最高のものにするために、皆様のご協力が必芁です。参加するには、次のこずができたす。

  • リポゞトリに星を぀ける: Docker Model Runnerリポゞトリに星を぀けお、私たちの認知床を高めるためにご支揎いただければ幞いです。
  • アむデアを投皿しおください。 新機胜やバグ修正のアむデアはありたすか?問題を䜜成しお議論したす。たたは、リポゞトリをフォヌクし、倉曎を加えお、pull request を送信したす。私たちはあなたがどんなアむデアを持っおいるかを芋るのを楜しみにしおいたす!
  • 蚀葉を広める: 友人、同僚、および Docker で AI モデルを実行するこずに興味がある可胜性のある人に䌝えおください。

私たちは Docker Model Runner のこの新しい章に非垞に興奮しおおり、䞀緒に䜕を構築できるかを芋るのが埅ちきれたせん。さあ、仕事に取り掛かりたしょう!

詳しく芋る

関連蚘事