
Proxmox에서 Docker를 돌리는 3가지 방법

Proxmox를 설치하고 나면 첫 번째 질문이 “Docker는 어디서 돌리지?”입니다.
3가지 선택지가 있습니다:
| 방법 | 성능 | 격리 | 관리 편의성 | 추천도 |
|---|---|---|---|---|
| 방법 1: LXC 컨테이너 안에서 Docker | ★★★ | ★★ | ★★★ | ★★★ |
| 방법 2: VM(Ubuntu/Debian) 안에서 Docker | ★★ | ★★★ | ★★ | ★★ |
| 방법 3: Proxmox 호스트에 직접 Docker | ★★★ | ★ | ★ | ★ (비추천) |
방법 1: LXC 컨테이너 + Docker (권장)
LXC(Linux Container)는 가볍고 빠릅니다. 오버헤드가 거의 없어서 Docker를 돌리기에 최적입니다.
LXC 컨테이너 생성

- Proxmox 웹 UI → Create CT
- 설정:
| 항목 | 값 |
|---|---|
| Template | debian-12-standard |
| Disk | 32GB+ |
| CPU | 2 cores |
| Memory | 4096MB |
| Network | vmbr0, DHCP 또는 고정 IP |
- Options 탭에서 중요 설정:
- Features → Nesting ✅ (Docker 실행에 필수)
- Features → keyctl ✅
LXC에 Docker 설치
# 컨테이너 콘솔 접속 후
apt update && apt upgrade -y
# Docker 공식 설치
curl -fsSL https://get.docker.com | sh
# Docker Compose 설치
apt install -y docker-compose-plugin
# 확인
docker --version
docker compose version
장점
- 성능: VM 대비 오버헤드 거의 없음
- 자원: 메모리/CPU 할당을 유연하게 조절 가능
- 백업: Proxmox에서 LXC 전체를 스냅샷/백업 가능
- 속도: 부팅 2~3초
주의점
- GPU 패스스루가 필요하면 VM을 써야 함
- 일부 Docker 이미지가 LXC에서 호환 문제 (드물지만 있음)
방법 2: VM + Docker
완전한 격리가 필요하거나 GPU 패스스루가 필요할 때 선택합니다.
VM 생성 + Docker 설치

- Ubuntu Server 24.04 VM 생성 (이전 Proxmox 설치 가이드 참고)
- VM 내부에서 Docker 설치:
# Ubuntu VM 내부
sudo apt update && sudo apt upgrade -y
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
언제 VM을 선택할까?
- GPU 패스스루: Plex 하드웨어 트랜스코딩, AI/ML 워크로드
- 커널 커스터마이징: 특수 커널 모듈 필요시
- 완전 격리: 보안이 최우선인 서비스
방법 3: Proxmox 호스트에 직접 (비추천)
기술적으로 가능하지만 권장하지 않습니다:
- Proxmox 업데이트와 Docker가 충돌할 수 있음
- 호스트가 불안정해지면 모든 VM/CT에 영향
- 롤백이 어려움
실전 구성 예시
홈서버 최적 구성:
Proxmox 호스트
│
├─ LXC: docker-apps (메인 Docker 호스트)
│ ├─ Portainer (Docker 웹 관리)
│ ├─ Nginx Proxy Manager (리버스 프록시)
│ ├─ Uptime Kuma (모니터링)
│ ├─ Homepage (대시보드)
│ └─ 기타 셀프호스팅 앱들
│
├─ LXC: media-server
│ ├─ Plex / Jellyfin
│ └─ *arr 스택 (Sonarr, Radarr, Prowlarr)
│
├─ VM: ubuntu-dev (개발용)
│ └─ Docker + 개발 환경
│
└─ VM: windows (필요시)
└─ Windows 11 + RDP
Docker Compose 시작 예제

LXC에 Docker를 설치했으면, 첫 번째 서비스를 올려봅니다:
# docker-compose.yml — Portainer + Uptime Kuma
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: unless-stopped
ports:
- "9443:9443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
restart: unless-stopped
ports:
- "3001:3001"
volumes:
- uptime_data:/app/data
volumes:
portainer_data:
uptime_data:
docker compose up -d
- Portainer:
https://IP:9443 - Uptime Kuma:
http://IP:3001
다음 단계
- Proxmox VE 8 설치 완전 가이드 — 아직 설치 전이라면
- Claude Code 사용법 완전 가이드 — AI 코딩 도구
이 글이 도움이 되었다면 즐겨찾기에 추가해주세요. 홈서버 관련 가이드를 계속 업데이트합니다.
이미지 출처
- (자체 제작) Proxmox Docker 운영 글 본문 예시 이미지 3종(선택 다이어그램/선택 가이드/Compose 예제)

