Ollama Docker GPU 설정 — Windows + RTX 5060 Ti 삽질 기록
Windows에서 Docker로 Ollama GPU 서빙 하는 방법. RTX 5060 Ti (Blackwell)에서 작동하게 만드는 과정.
목표
Windows 로컬 머신에서 Ollama를 Docker 컨테이너로 돌리고, GPU를 사용하게 설정합니다.
컨테이너 이름: ollama-gpu
GPU: RTX 5060 Ti 16GB (Blackwell 아키텍처)
왜 Docker로 Ollama를 돌리나
로컬 설치 Ollama도 있지만 Docker로 분리하면:
- 시스템 환경에 영향 없이 격리
- 다른 봇 컨테이너와 네트워크 공유 가능
- 버전 고정 가능
사전 조건
- NVIDIA GPU 드라이버 (최신 버전)
- NVIDIA Container Toolkit — Docker가 GPU를 사용하게 해주는 레이어
- Docker Desktop (Windows)
- WSL2 — Docker Desktop이 WSL2 백엔드 사용
NVIDIA Container Toolkit 설치
Windows에서는 WSL2 안에서 설치합니다.
# WSL2 우분투 안에서
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
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/$distribution/libnvidia-container.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 update
sudo apt install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
Ollama Docker 컨테이너 실행
docker run -d \
--name ollama-gpu \
--gpus all \
-p 11434:11434 \
-v ollama_data:/root/.ollama \
ollama/ollama
--gpus all 플래그가 GPU를 컨테이너에 할당합니다.
GPU 사용 확인
# 컨테이너 안에서 nvidia-smi 실행
docker exec ollama-gpu nvidia-smi
# 결과에 RTX 5060 Ti가 보이면 성공
모델 설치 및 실행
# 모델 다운로드
docker exec ollama-gpu ollama pull qwen3:14b
docker exec ollama-gpu ollama pull gemma4:e4b
# API 테스트
curl http://localhost:11434/api/generate -d '{
"model": "qwen3:14b",
"prompt": "안녕",
"stream": false
}'
겪었던 문제들
문제 1: GPU 안 잡힘
Error: no NVIDIA GPU found
원인: Docker Desktop 설정에서 WSL2 통합이 안 돼있었음.
해결:
Docker Desktop → Settings → Resources → WSL Integration
→ 사용 중인 WSL2 distro 활성화
문제 2: 컨테이너 무응답
가끔 ollama-gpu 컨테이너가 요청에 응답을 안 합니다.
# 로그 확인
docker logs ollama-gpu --tail 50
# 재시작
docker restart ollama-gpu
모델이 VRAM에 올라가는 중일 때 응답이 느려지거나 타임아웃 납니다. 큰 모델 (14B 이상)은 초기 로딩에 30초~1분 걸립니다.
문제 3: RTX 5060 Ti (Blackwell) 호환성
Ollama는 Blackwell 아키텍처를 자동으로 처리합니다. 별도 설정 없이 --gpus all만 해도 됩니다.
vLLM, SGLang 같은 다른 서빙 프레임워크는 Blackwell 지원이 아직 불완전합니다. Ollama가 현재 가장 호환성이 좋습니다.
Python에서 Ollama API 호출
import requests
def ask_ollama(prompt: str, model: str = "qwen3:14b") -> str:
response = requests.post(
"http://localhost:11434/api/generate",
json={
"model": model,
"prompt": prompt,
"stream": False
},
timeout=120
)
return response.json()["response"]
컨테이너 자동 시작
Docker Desktop이 Windows 시작 시 자동 실행되고, 컨테이너에 --restart unless-stopped 옵션을 주면 자동 시작됩니다.
docker update --restart unless-stopped ollama-gpu
현재 상태
| 서비스 | 포트 | 상태 |
|---|---|---|
| ollama-gpu | 11434 | 자동 시작 |
| 모델: qwen3:14b | — | VRAM 8~10GB |
| 모델: gemma4:e4b | — | VRAM 5~6GB |
16GB VRAM이면 14B 파라미터 모델 하나를 안정적으로 돌릴 수 있습니다. 두 개 동시 로딩은 빡빡합니다.