スキップしてメイン コンテンツに移動

Ollama×Docker:コンテナで実現するクリーンなAI開発環境

Ollama×Docker:コンテナで実現するクリーンなAI開発環境

01. はじめに

Ollamaはバイナリ一つで動く手軽さが魅力ですが、開発チームで環境を統一したり、本番サーバーにデプロイしたりする場面では、ホストOSに直接インストールする方法には限界があります。「私のPCでは動くけど、本番環境では動かない」といった問題を避けるため、現代のアプリ開発においてコンテナ化は必須の要件です。

本記事では、OllamaをDockerコンテナとして起動・管理する方法を徹底解説します。特にハードルが高いと思われがちな「コンテナからのGPU利用」についても、具体的な設定例を交えて紹介します。

02. なぜDockerで動かすのか

Merit

環境の隔離、再現性の担保、そして他のマイクロサービス(WebUIやRAGバックエンド)との連携のしやすさが最大の理由です。

ホストOSを汚さずにOllamaのバージョンアップや切り替えが容易に行えるほか、volumeマウントを利用することで、数GBに及ぶ巨大なモデルデータを特定ディレクトリに集約・永続化できるというストレージ管理上のメリットもあります。

03. CPU環境でのセットアップ

GPUを使わない、またはIntel Macなどの環境では非常にシンプルです。

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

このコマンド一つで、Ollama APIサーバーがポート11434で立ち上がります。-v ollama:/root/.ollama は、ダウンロードしたモデルデータをコンテナ削除後も保持するためのボリューム設定です。

コンテナ内でモデルを実行するには以下のようにします。

docker exec -it ollama ollama run llama3

04. GPUパススルーの設定 (NVIDIA)

Linux + NVIDIA GPU環境でパフォーマンスを引き出すには、NVIDIA Container Toolkit のインストールが必要です。

まずはホスト側でツールキットをセットアップした後、--gpus=all フラグを付けてコンテナを起動します。

docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

これでOllamaがGPUを認識し、推論処理をオフロードします。ログを確認し、NVIDIA GPU detected と表示されていれば成功です。

05. docker-composeによる一元管理

現場ではdocker-compose.ymlで管理するのが一般的です。Ollama本体と、それを操作するWebUI(例: Open WebUI)をセットで立ち上げる構成例を紹介します。

version: '3.8'
services:
  ollama:
    image: ollama/ollama:latest
    ports:
      - 11434:11434
    volumes:
      - ./ollama-data:/root/.ollama
    # deploy:  # GPU使用時のみコメントアウト解除
    #   resources:
    #     reservations:
    #       devices:
    #         - driver: nvidia
    #           count: 1
    #           capabilities: [gpu]

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    ports:
      - 3000:8080
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
    volumes:
      - ./webui-data:/app/backend/data
    depends_on:
      - ollama

docker-compose up -d するだけで、localhost:3000 にアクセスすればChatGPTのようなチャット画面が立ち上がり、裏ではOllamaが動いているという最強の環境が完成します。

06. まとめ

Dockerを活用することで、Ollamaの運用は劇的に楽になります。特にチーム開発やサーバーデプロイを考えている場合は、早い段階でDockerベースのワークフローに移行することをお勧めします。

Note

MacのDocker Desktopではパフォーマンスが低下する場合があります。Apple Silicon Macの場合はDockerを使わず、ホストOSに直接インストールするほうが高速なケースが多い点には留意してください。

次回は、今回少し登場した「Open WebUI」について、その詳細な機能と設定方法を深掘りします。

© 2026 Antigravity Blog Generator. All rights reserved.

コメント