
Windows WSL에서 Podman + Ollama 챗봇 완성하기 ( 노트북 NVIDIA GPU)
2026년 4월 24일 | AI/ML, 컨테이너, 시스템 관리
Windows 노트북에서 Ollama + WebUI를 이용하여 챗봇을 구성했는데 GPU가 NVIDIA 를 사용하지 않아서 작성을 했습니다.
🖥️ 왜 이 설정이 중요한가?
Windows에서 로컬 LLM을 돌리려면 GPU 가속이 필수입니다. Docker는 편리하지만 rootless 보안과 Podman의 가벼운 특성을 활용하고 싶다면 WSL + Podman machine + NVIDIA GPU 조합이 최적입니다.
이번 글에서는 실제 동작하는 환경인 podman-machine-default(Fedora 43)에서 RTX 4070 GPU를 Ollama와 Open WebUI에 연결하는 단계별 절차를 정리합니다.
핵심: podman machine ssh로 들어간 VM에서 GPU가 먼저 확인되어야 컨테이너도 GPU를 쓸 수 있습니다.
🏗️ 1. 전체 구조 이해하기
핵심 작동 원리:
- WSL2 기반 Podman Machine 구성
- Windows WSL에서 GPU를 사용가능해야함 - NVIDIA Container Toolkit 설치 및 GPU 확인
- CDI(nvidia-ctk)로 GPU 장치를 정의해야 함
- Podman machine(Fedora 43 VM) 내부에서 nvidia-smi가 동작해야 함 - Ollama Docker 실행
- 컨테이너 실행 시 --device nvidia.com/gpu=all 명시해야 함
- rootless 권한(--group-add keep-groups) 맞춰야 함 - WebUI 연동으로 챗봇 구현
- Trouble Shooting (RTX 4070 GPU 정상 작동 확인)
Windows (NVIDIA Driver)
↓
WSL2 / Podman Machine (Fedora 43)
↓ NVIDIA Container Toolkit + CDI
Podman Rootless Container (GPU 전달)
↓ --device nvidia.com/gpu=all
Ollama + Open WebUI (RTX 4070 가속)
🔍 2. Windows Host 환경
2.1 Windows Host에 Podman + WSL 설치 확인
* Windows Host에는 NVIDIA 드라이버가 정상 설치되어 있어야 합니다.
* Podman이 설치되어 있어야 합니다.
ㅁ Podman desktop 을 설치하고 다음 사항을 확인 합니다.
- podman desktop의 작동
podman system connection list
podman machine start
# * -- machine start를 하면 podman desktop의 관리 화면에 container리스트가 확인됩니다
# 머신을 재기동 하는 방법은 아래와 같습니다.
podman machine stop
podman machine set --rootful
podman machine start
# * podman machine set --rootful
# - 호스트와 컨테이너 간의 파일 시스템을 마운트(Volume Mount)할 때,
# 호스트의 특정 디렉터리 권한과 컨테이너 내부 사용자의 UID/GID가 일치하지 않아
# "Permission Denied" 오류가 발생하는 경우 사용합니다.
# - 파일 권한 오류나 GPU 접근 문제가 발생할 때 podman machine set --rootful을 사용하면 해결할 수 있습니다.
# - 다만 rootful 모드는 보안적으로 더 민감하므로, 꼭 필요한 경우에만 사용하는 것이 권장됩니다.
2.2 Windows + podman 에서 GPU 상태 확인
[Windows host]
# Windows PowerShell에서
PS C:\> nvidia-smi
nvidia-smi -L
wsl -l -v
podman machine ls
podman machine ssh
Windows에서 nvidia-smi or nvidia-smi -L

# Podman machine 내부에서 GPU 설정 확인
cat /etc/redhat-release # Fedora release 43 (Forty Three)
nvidia-smi # RTX 4070이 보이는가?
ㅁ 다음과 같이 Container에서 GPU 설정 확인되어야 합니다.
- 3장에서 WSL 설정 부터 차례로 진행해야 합니다.
[Windows host 에서 다음을 실행]
# Container 별로 GPU 인식을 확인합니다.
[root@WIN-EIM8HKM01Q1 ~]# podman exec -it open-webuiv2_cuda nvidia-smi -L
GPU 0: NVIDIA GeForce RTX 4070 Laptop GPU (UUID: GPU-a6ca11e7-9c72-25bd-71ef-d74275aa310d)
[root@WIN-EIM8HKM01Q1 ~]# podman exec -it ollamav2 nvidia-smi -L
GPU 0: NVIDIA GeForce RTX 4070 Laptop GPU (UUID: GPU-a6ca11e7-9c72-25bd-71ef-d74275aa310d)

✅ 성공 기준: nvidia-smi에서 RTX 4070과 드라이버 정보가 표시됨
❌ 실패 시: Windows NVIDIA 드라이버 → WSL GPU 지원 → Podman machine 순서로 점검
⚙️ 3. WSL > Podman Machine GPU 설정
3.1 WSL + podman machine 에서 다음을 설치 합니다.
[ nvidia-ctk : Toolkit 구성]
* libnvidia-container: 컨테이너 내부에서 GPU 장치 노출
* nvidia-ctk: CDI 스펙 생성 및 관리
* cdi.yaml: Podman이 GPU 장치를 인식할 수 있도록 설정 파일 제공
3.1.1 WSL + podman machine에 NVIDIA Container Toolkit 설치
PS C:\> podman machine ssh
# podman machine ssh 내부에서 실행
sudo dnf install -y nvidia-container-toolkit
or
$ curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \
tee /etc/yum.repos.d/nvidia-container-toolkit.repo && \
yum install -y nvidia-container-toolkit && \
nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml && \
nvidia-ctk cdi list
3.1.2 CDI 스펙 생성 (핵심!)
sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
nvidia-ctk cdi list
✅ 성공 시 출력:
# nvidia-ctk cdi list
INFO[0000] Found 1 CDI devices
nvidia.com/gpu=all
Device nvidia.com/gpu=0
Device nvidia.com/gpu=all
🧪 3.2. Podman machine에서 container GPU 전달 테스트
가장 중요한 검증 단계입니다.
PS C:\> podman machine ssh
podman run --rm -it \
--device nvidia.com/gpu=all \
--group-add keep-groups \
--security-opt=label=disable \
ubuntu:22.04 nvidia-smi -L
✅ 성공 시: 컨테이너 내부에서 RTX 4070 확인
❌ 실패 시: CDI, 권한, SELinux 문제
PS C:\> podman machine ssh
Connecting to vm podman-machine-default. To close connection, use `~.` or `exit`
Last login: Fri Apr 24 15:31:57 2026 from ::1
[root@WIN-EIM8HKM01Q1 ~]# podman run --rm -it \
> --device nvidia.com/gpu=all \
> --group-add keep-groups \
> --security-opt=label=disable \
> ubuntu:22.04 nvidia-smi -L
GPU 0: NVIDIA GeForce RTX 4070 Laptop GPU (UUID: GPU-a6ca11e7-9c72-25bd-71ef-d74275aa310d)
🚀 4. Ollama + WebUI 완전 구성
4.1 Podman Compose 파일
version: "3.1"
services:
ollama:
image: ollama/ollama:latest
container_name: ollamav2
restart: unless-stopped
devices:
- nvidia.com/gpu=all
volumes:
- ollama:/root/.ollama
environment:
- OLLAMA_HOST=0.0.0.0
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
ports:
- "11434:11434"
networks:
- backend
healthcheck:
test: ["CMD-SHELL", "ollama list || exit 1"]
interval: 600s
retries: 5
open-webui:
image: ghcr.io/open-webui/open-webui:cuda
container_name: open-webuiv2
restart: unless-stopped
devices:
- nvidia.com/gpu=all
ports:
- "${WEBUI_PORT:-3000}:8080"
volumes:
- open-webui:/app/backend/data
environment:
- OLLAMA_BASE_URL=http://ollama:11434
depends_on:
ollama:
condition: service_healthy
networks:
- backend
networks:
backend:
driver: bridge
volumes:
ollama:
open-webui:
5.2 실행
# podman machine ssh 내부에서
podman-compose up -d
# 모델 다운로드 (작은 모델부터!)
podman exec ollamav2 ollama pull llama3.2:3b
5.3 접속
http://localhost:3000 → Open WebUI
Ollama API → http://localhost:11434
✅ 6. GPU 실제 사용 확인
6.1 실시간 모니터링
# 터미널 1: GPU 사용량 확인
watch -n 1 nvidia-smi
# 터미널 2: Ollama 로그
podman logs -f ollamav2
6.2 성공 기준
✅ WebUI에서 llama3.2 모델 선택
✅ 채팅 응답이 CPU보다 5~10배 빠름
✅ nvidia-smi에서 VRAM 사용량 증가
✅ Ollama 로그에 GPU 관련 메시지
아래와 같이 Nvidia GPU 를 사용하고 있습니다. (아주 작게 보이지만 실행됩니다.)

🔧 7. 트러블슈팅 체크리스트
| 문제 | 원인 | 해결책 |
|---|---|---|
VM에서 nvidia-smi 실패 |
Windows 드라이버 문제 | NVIDIA Studio Driver 최신화 |
| 컨테이너에서만 실패 | CDI 미생성 | nvidia-ctk cdi generate |
| 권한 오류 (NVML) | rootless 문제 | --group-add keep-groups |
| SELinux 차단 | 보안 정책 | --security-opt=label=disable |
| WebUI 연결 실패 | 네트워크 | OLLAMA_BASE_URL 확인 |
⚠️ 주의사항 박스
🚨 RTX 4070 노트북 VRAM 제한 (8GB)
- 처음엔 3B~7B 모델만 사용
- llama3.2:3b, phi3:mini 권장
- 70B 모델은 OOM 발생 확률 높음
🚨 Podman Machine 재시작 시
- CDI 파일 (/etc/cdi/nvidia.yaml) 유지 확인
- `nvidia-ctk cdi generate` 재실행
🚨 Windows 재부팅 후
- `podman machine start`
- GPU 테스트 컨테이너로 검증
🎯 8. 마무리 - 완성된 로컬 챗봇
이제 Windows WSL → Podman machine(Fedora 43) → Ollama + WebUI로 완전한 GPU 가속 챗봇 환경이 구축되었습니다.
💡 핵심 성공 요인
1. podman machine 내부 GPU 확인
2. CDI 스펙 정확 생성
3. rootless 권한 조정
4. 작은 모델부터 검증
실행 시간: 약 30분
비용: 0원 (로컬 GPU 활용)
데이터 유출: 없음 (완전 오프라인)
📌 참고 자료
질문 있으시면 댓글로!
현재 환경에서 막히는 부분이 있다면 정확한 에러 메시지와 함께 알려주세요. 단계별로 해결해드리겠습니다! 🚀
(참고 : 다른 설치 메뉴얼을 참고 바랍니다.)
[InfraPlatform] - 윈도우에서 Podman 설치 및 활용하기
[DevOps] - Windows WSL에서 Podman + Ollama 챗봇 완성하기 (NVIDIA GPU)
[InfraPlatform] - 🚀 Windows WSL + Podman Desktop 로 Ollama + Open WebUI GPU 챗봇 구축하기 (RTX 4070 노트북)
'DevOps' 카테고리의 다른 글
| [Ubuntu/Linux] SSH 서버 설치부터 보안을 위한 가이드 (0) | 2026.03.24 |
|---|---|
| WSL2 VHDX 가상드라이버 추가하기 (0) | 2026.02.21 |
| (PostgreSQL) DBA를 위한 베스트 GUI 툴 추천: pgAdmin부터 Luna Modeler까지 (4) | 2025.12.09 |
| (추천) 소프트웨어 개발을 위한 최고의 실시간 커뮤니케이션 협업 도구 (17) | 2025.12.05 |
| 테스트의 종류 - 단위.통합테스트 CBT UAT 시스템테스트 (0) | 2025.10.10 |
| 클로드코드(Claude Code) 설치 및 사용 완벽 가이드 (1) | 2025.08.08 |
| Redis 설치 유의사항 - Slow clocksource - redis-server --check-system (0) | 2025.07.21 |