Docker vs LXC in Proxmox: When to Use Each

docker vs lxc proxmox - custom-docker-vs-lxc-featured.png

Proxmox VE ships with two container stories that confuse newcomers: native LXC containers (CTs)
managed directly in the Proxmox UI, and Docker — which is not built into Proxmox but runs inside
a VM or a nested LXC. Picking the wrong one leads to backup gaps, performance surprises, or unsupported nesting configs.

This guide explains when to use Proxmox LXC, when to run Docker in a dedicated VM, and when nested Docker inside
LXC is acceptable — with decision criteria for homelab and production.

Quick answer

  • Use LXC for lightweight Linux services (DNS, VPN, monitoring agents, small APIs)
  • Use Docker in a VM for Compose stacks, CI runners, and production parity with cloud
  • Use nested Docker in LXC only for homelab/K3s experiments — not ideal for critical prod

Step 1: Understand What Proxmox LXC Actually Is

Proxmox LXC containers are Linux system containers — they share the host kernel but have isolated process trees, network namespaces, and filesystems. Proxmox creates, snapshots, backs up, and migrates CTs like lightweight VMs. There is no Docker daemon involved unless you install one inside the CT. CTs start in seconds and typically use 50–200 MB RAM before your application loads.

Create Proxmox LXC container Ubuntu template dialog
Native Proxmox LXC container

Step 2: Understand Docker’s Role on Proxmox

Docker is an application container runtime. On Proxmox, Docker almost always runs inside a guest — either a full VM (cleanest isolation) or an LXC with nesting enabled (Docker-in-LXC). Proxmox does not manage individual Docker containers; it manages the VM or CT that hosts Docker. Backup the whole VM/CT with vzdump or PBS to capture Docker volumes consistently.

Docker Compose stack running inside Proxmox VM terminal
Docker inside a Proxmox VM

Step 3: Side-by-Side Comparison

Use this table when planning a new service. LXC wins on efficiency and Proxmox integration; Docker wins on ecosystem (Compose, registries, developer workflow).

Docker vs LXC comparison table Proxmox VE overhead isolation
Docker vs LXC comparison

Step 4: When to Choose Proxmox LXC

Choose LXC when: running a single-purpose Linux daemon (Pi-hole, WireGuard, Tailscale subnet router, Prometheus node exporter), you want Proxmox snapshot/backup per service without VM overhead, RAM is limited, or you need fast clone/restore. Use unprivileged CTs by default for security. Map storage with bind mounts or dedicated CT disks on ZFS for easy rollback.

Proxmox LXC for lightweight DNS VPN monitoring services
When to use LXC

Step 5: When to Choose Docker (in a VM)

Choose Docker in a dedicated VM when: deploying multi-container Compose stacks, you need kernel modules Docker depends on, running rootless or complex volume driver setups, matching production that also uses Docker/Kubernetes, or isolating dev teams from the hypervisor. Size the VM with 2–4 vCPU, 8+ GB RAM, and a large thin-provisioned disk on ZFS or local-lvm.

Docker in VM for Compose stacks production parity Proxmox
When to use Docker in a VM

Step 6: Nested Docker in LXC (Homelab Only)

To run Docker inside LXC, enable CT Features → nesting, keyctl, fuse. Some guides use privileged CTs for K3s/Docker — simpler but weaker isolation. Acceptable for homelab and learning; for production prefer a VM or bare-metal K8s node. Expect Proxmox support forums to recommend VMs when things break with nested cgroups.

Proxmox LXC nesting keyctl fuse features for Docker K3s
Nested Docker/K3s in LXC

Decision flowchart (text)

  1. Single Linux service, minimal RAM? → LXC
  2. Multi-container app with docker-compose.yml? → VM + Docker
  3. Need Kubernetes? → K3s on LXC (lab) or K3s/RKE2 on VMs (prod)
  4. Windows container? → VM only (no LXC on Proxmox for Windows)

Backup reminder

LXC: native Proxmox backup job. Docker in VM: backup the VM; for consistent volume snapshots consider ”
“stopping containers or using Velero/restic inside the guest.

Related tutorials

Image credits: All illustrations use original Proxmox VE branded artwork created
for Gnome IT Solutions — not copied from vendor marketing assets or third-party screenshots.
Tutorial text © Gnome IT Solutions.

Image credits: Screenshots are from the official
Proxmox VE documentation
(Proxmox GmbH), used under open documentation terms for educational purposes.
Tutorial text and layout © Gnome IT Solutions.