Ollama Docker GPU 설정 — Windows + RTX 5060 Ti 삽질 기록

Windows에서 Docker로 Ollama GPU 서빙 하는 방법. RTX 5060 Ti (Blackwell)에서 작동하게 만드는 과정.

Ollama Docker GPU 설정 — Windows + RTX 5060 Ti 삽질 기록

목표

Windows 로컬 머신에서 Ollama를 Docker 컨테이너로 돌리고, GPU를 사용하게 설정합니다.

컨테이너 이름: ollama-gpu GPU: RTX 5060 Ti 16GB (Blackwell 아키텍처)


왜 Docker로 Ollama를 돌리나

로컬 설치 Ollama도 있지만 Docker로 분리하면:

  • 시스템 환경에 영향 없이 격리
  • 다른 봇 컨테이너와 네트워크 공유 가능
  • 버전 고정 가능

사전 조건

  1. NVIDIA GPU 드라이버 (최신 버전)
  2. NVIDIA Container Toolkit — Docker가 GPU를 사용하게 해주는 레이어
  3. Docker Desktop (Windows)
  4. 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-gpu11434자동 시작
모델: qwen3:14bVRAM 8~10GB
모델: gemma4:e4bVRAM 5~6GB

16GB VRAM이면 14B 파라미터 모델 하나를 안정적으로 돌릴 수 있습니다. 두 개 동시 로딩은 빡빡합니다.

#Ollama#Docker#GPU#RTX 5060 Ti#Windows#로컬LLM