目次
DockerでOllamaを実行するチュートリアル:NVIDIA・AMD GPUとCompose
サーバーでDockerを使ってOllamaを実行すると、管理やアップグレードが簡単になり、Composeでほかのサービスと一緒にデプロイできます。Dockerにまだ慣れていない場合は、先にDockerチュートリアルをご覧ください。
macOSのDockerではApple GPUを使用できません。MacではOllamaアプリケーションを直接インストールしてください。
CPUのみ
docker run -d --name ollama \
-v ollama:/root/.ollama \
-p 11434:11434 \
ollama/ollama
-v ollama:/root/.ollama:モデルはollamaという名前のVolumeに保存されるため、コンテナを再作成しても失われません。-p 11434:11434:ホストからAPIに接続できるようにします。
NVIDIA GPU
1. NVIDIA Container Toolkitをインストールする
ホストにNVIDIAドライバーをインストールしてから、NVIDIA Container Toolkitをインストールします(Ubuntuの例です。詳しい手順はNVIDIA公式ドキュメントをご覧ください)。
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
| sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
| sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
| sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
2. コンテナを起動する
docker run -d --name ollama --gpus=all \
-v ollama:/root/.ollama \
-p 11434:11434 \
--restart unless-stopped \
ollama/ollama
GPUが使用されていることを確認します。
docker exec ollama nvidia-smi
AMD GPU
rocm版のイメージを使い、デバイスをコンテナに渡します。
docker run -d --name ollama \
--device /dev/kfd --device /dev/dri \
-v ollama:/root/.ollama \
-p 11434:11434 \
ollama/ollama:rocm
コンテナ内でOllamaを使う
docker exec -it ollama ollama run qwen3:8b
docker exec ollama ollama pull nomic-embed-text
docker exec ollama ollama list
APIはローカルにインストールした場合と同じく、http://localhost:11434で利用できます。
環境変数
環境変数は-eで渡します。コンテナ内のOLLAMA_HOSTはデフォルトで0.0.0.0に設定されているため、-pでポートを割り当てるとホストから接続できます。
docker run -d --gpus=all --name ollama \
-e OLLAMA_CONTEXT_LENGTH=8192 \
-e OLLAMA_KEEP_ALIVE=30m \
-v ollama:/root/.ollama -p 127.0.0.1:11434:11434 \
ollama/ollama
127.0.0.1:11434:11434はローカルからの接続のみを許可し、APIがネットワークに公開されるのを防ぎます。
Docker Compose:Ollama + Open WebUI
services:
ollama:
image: ollama/ollama
volumes:
- ollama:/root/.ollama
environment:
OLLAMA_KEEP_ALIVE: 30m
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
restart: unless-stopped
open-webui:
image: ghcr.io/open-webui/open-webui:main
ports:
- "3000:8080"
environment:
OLLAMA_BASE_URL: http://ollama:11434
volumes:
- open-webui:/app/backend/data
depends_on:
- ollama
restart: unless-stopped
volumes:
ollama:
open-webui:
docker compose up -d
docker compose exec ollama ollama pull qwen3:8b
http://localhost:3000を開くと、Webインターフェースを利用できます。Ollamaのポートは外部に公開されず、Open WebUIだけがComposeネットワーク経由で接続できます。NVIDIA GPUがない場合は、deployブロックを削除してください。
Open WebUIの使い方については、Open WebUIのWebインターフェースをご覧ください。
更新
docker pull ollama/ollama
docker rm -f ollama
# 以前と同じ docker run コマンドで再作成します。モデルはVolume内にあるため、再ダウンロードは不要です
Composeを使用している場合:
docker compose pull
docker compose up -d
モデルを事前にダウンロードする
コンテナの起動時にモデルを自動ダウンロードするには、デプロイスクリプトに次のコマンドを追加します。
docker exec ollama ollama pull qwen3:8b
または、モデルをカスタムイメージに直接含めることもできます(イメージが非常に大きくなるため、通常はおすすめしません)。
更新日 2026年10月12日